Algorithmic math art - <AUTHOR> http://xahlee.info/math/algorithmic_math_art.html <comment><USER2> Cool survey!

Related;

I've seen some talks about knitting, art and matrix algebra recently:

* [https://www.youtube.com/watch?v=02h74L1PmaU](https://www.youtube.com/watch?v=02h74L1PmaU)

* [https://www.thestrangeloop.com/2018/its-just-matrix-multipli...](https://www.thestrangeloop.com/2018/its-just-matrix-multiplication-notation-for-weaving.html)

Another one from Strangeloop:

* [https://www.thestrangeloop.com/2018/a-box-of-chaos-the-gener...](https://www.thestrangeloop.com/2018/a-box-of-chaos-the-generative-artists-toolkit.html)

Also, I recently learnt about [https://en.wikipedia.org/wiki/Buddhabrot](https://en.wikipedia.org/wiki/Buddhabrot). Maybe here at HN!?

<comment><AUTHOR> Thank you for the links, Pretty cool stuff i'll Take a closer look in the weekend.

I found this when I was looking for art representation of mathematical concepts, like this one that i created (is not a really good one, and the code have a lot of space for improvement):

[https://jpg.computer/cantor/](https://jpg.computer/cantor/)

The page is in português (my main language), but it try to represent the cantor set in a two dimensional form.

Do you know were i can find more "math non-generative art"?

I'm specially interested in "math profs art" but I could not find much.

<comment><USER2> I'm not sure what you mean "Math profs art".

There are countless resources around the area of generative art. This guy has a few interesting projects although I wouldn't call him an artist :-) [1]. He created a tool to approximate pictures with vectors that produces cool results [2].

This other guy puts out lots of cool stuff, including some stuff done with shaders and webgl [3].

Another very interesting area of generative art is livecoding [4], where people write in real time music and sometimes visuals using software tools [4].

Finally, just found out github has a generative-art tag so maybe you can find some interesting things people have done there [5]. These are the main things I can think of from the top of my head w/o Googling more :-).

1: [https://www.michaelfogleman.com/](https://www.michaelfogleman.com/)

2: [https://primitive.lol/](https://primitive.lol/)

3: [http://quasimondo.com/](http://quasimondo.com/)

4: [https://toplap.org/](https://toplap.org/)

5: [https://github.com/topics/generative- art](https://github.com/topics/generative-art)</comment></comment></comment>


The Block Tee by Plotinus - <AUTHOR> https://plotinus.net/ <comment><USER2> This reminds me of Supreme's Box Logo Tees. Those sell for irrationally exorbitant amounts. What I found also irrational was Carlyle Group putting $500M into the company.

</comment><comment><USER3> I'm curious to see how this tee shirt is received among Bitcoin maximalists. On one hand, it's Bitcoin positive, on the other hand, it uses Ethereum technology.</comment>


K2 Raises $100M to Make It Easy to Build Business Apps - <AUTHOR> http://www.forbes.com/sites/benkepes/2015/02/18/k2-raises-100m-to-make-it-easy-to-build-business-apps/

<comment><AUTHOR> Disclaimer: I work there. Not going to answer any 'business' questions as yet apart from: yes, this is a strong position and I'm ridiculously confident in my employer.</comment>


List of lists of lists - <AUTHOR> https://en.wikipedia.org/wiki/List_of_lists_of_lists <comment><USER2> Worth it just for the amusing discussions in the Talk page:

[https://en.wikipedia.org/wiki/Talk:List_of_lists_of_lists](https://en.wikipedia.org/wiki/Talk:List_of_lists_of_lists)

</comment><comment><USER3> Some of these lists aren't list of lists...? Maybe I'm just not awake yet.

</comment><comment><USER4> Ever wanted to recursively search a linked list by hand? Here's your chance!

</comment><comment><USER5> It makes me happy that this list is in the list.

</comment><comment><USER6> I love this recursive topic, thanks!</comment>


Quantum Computing in the NISQ era and beyond [pdf] - <AUTHOR> https://quantum-journal.org/papers/q-2018-08-06-79/ <comment><AUTHOR> I really like this description of entanglement:

"To understand the concept of entanglement, imagine a system with many parts, for example a book which is 100 pages long. For an ordinary classical 100-page book, every time you read another page you learn another 1% of the content of the book, and after you have read all of the pages one by one you know everything that's in the book. But now suppose instead that it's a quantum book, where the pages are very highly entangled with one another. Then when you look at the pages one at a time you see only random gibberish, and after you have read all the pages one by one you know very little about the content of the book. That's because the information in the quantum book is not imprinted on the individual pages; it is encoded almost entirely in how the pages are correlated with one another. If you want to read the book you have to make a collective observation on many pages at once. That's quantum entanglement, the essential feature making information carried by quantum systems very different from information processed by ordinary digital computers."</comment>


It's Highly Probable That We Have Lived on Mars - <AUTHOR> http://tebanvargas.wordpress.com/2015/01/07/6/

<comment><USER2> It's much easier. Just dig in the Earth and find the launching pads, or the metallic tools used to create the ships, or ...

Bronce was discovered in ~3000BC and cooper in ~4500BC. They left nice objects that are easy to find by archeologist. Before that, it was impossible to build a starship.

</comment><comment><USER3> Probably not highly probable, but upvoted because I love stuff like this. We really don't know very much about the distant past or the "big questions," so radical stuff is always within the realm of possibility at the very least.

<comment><AUTHOR> It's near-to-impossible to quantify this, but again, "there's enough uncertainty to open up our minds". Thank you very much for your comment by the way, writing though-provoking stuff and seeing smart people discuss those ideas is truyl fulfilling.

<comment><USER3> There's far too little bold speculation and question-asking these days.

It wasn't always this way. When I go back and read eminent scientists from the 50s and 60s I am pleasantly shocked by their fearlessness.

You can go further back too. Thomas Edison built a machine to experiment with electromagnetic communication with the dead. Silly? Perhaps. But I see that as evidence of a questioning and a questing mind that wasn't afraid to ask big crazy questions. No professional would dare anything like that today unless they were so independently wealthy they didn't need anyone else's support.

We've turned into a bunch of careerist cowards who keep our heads down out of the conditioned fear that expressing anything "far out" might offend some bureaucracy or ideological group. The irony is that the 50s and 60s were far more buttoned-up when it came to cultural norms, dress codes, etc. We've liberalized in one way but gone hyper-conservative in another.</comment></comment></comment>


Teaching Math to the Talented - <AUTHOR> http://educationnext.org/teaching-math-to-the-talented/

<comment><USER2> at least in the math department, the US really needs a revamp, especially in elementary school/middle school

in 4th grade, my math education consisted of a year full of "do 100 simple addition problems in 5 minutes". Once you did it in 5 minutes, it became "do 100 simple addition problems in 4 minutes" on the SAME sheet of problems. Then 3 minutes, then 2 minutes. It became an exercise in memorization and pencil dexterity.

i'm pretty sure everyone who did their elementary education in the US had to do this at one point in their lives. but come on! not only did my penmanship degrade from having to write so fast, it was an utter waste of an entire year of my education.

disclaimer: i didn't complain while i was doing it though. they rewarded me with candy :)

</comment><comment><USER3> The article assumes that mathematicians are produced by schools, whereas I think in reality neither schools nor even individuals can reliably create/become mathematicians by an act of will.

The best thing most people can do for those who are deeply interested in advanced subjects _is not to damage them_.</comment>


Off-topic alternative: TheHackerForum.com - <AUTHOR>

After reading Matt's post about a place for off-topic discussions, I came to the conclusion that a forum would be much better suited for that kind of stuff.
A couple of reasons for this:
- A better sense of community
- The ability to categorize submissions
- Still have use of moderators
- Avatars and other goodies that come with VB
I'm sure you can think of a few others.  Anyways, the utility of this can be determined by you guys - make use of either thehackerforum.com or nonhackernews.com for your off-topic stuff.  I just thought I'd provide the choice for those who prefer forums.
Let me know if you have ideas for more forums or want to be a moderator <comment><USER2> <http://thehackerforum.com>

For the lazy.

<comment><AUTHOR> thanks. i guess i should've just pointed this post directly to the site. oh well, too late now.</comment></comment>


SELinux, Seccomp, Falco, and You: A Technical Discussion - <AUTHOR> https://sysdig.com/blog/selinux-seccomp-falco-technical-discussion/ <comment><USER2> I fought for years against the culture of just turning off SELinux. I read every doc trying to Do The Right Thing when configuring the likes of vsftpd, samba or kvm.

Didn't manage to keep them working jerks-free long enough without disabling it. Daemons always find a way to break with selinux on with me.

After years, I just gave up. I feel sad about it, but just after install, I SELINUX=disabled them.

Is Selinux too hard? Or am I too incompetent? I really don't know.

<comment><USER3> My experiences differ greatly from yours.

I've got a few dozen Linux servers of various roles (authoritative DNS, database, mail, web, etc.) publicly facing and I run SELinux on all of them from the moment they are installed (literally, it's enabled and enforced in my kickstart files).

I honestly can't recall a single issue in the last five years or so, at least, where the "fix" was "disable SELinux".

<comment><USER4> I other words you have never deviated from the distro-provided script. In other words, the distro provider owns the server.

<comment><USER3> Sure I have. There are some things that are done in a "non-standard" way because it works better for us.

Instead of just turning off SELinux, however, I did things "the right way" (fixing labels, contexts, etc.).

</comment></comment></comment></comment><comment><USER5> Visibility is good, but I have found SELinux to be rather simple. Most applications can be automatically configured and supported by Ansible with SELinux enabled. Most community chef cookbooks also support SELinux to some degree (depending on how much you customize things). The default policy is "Targeted" which only protects Redhat supported applications by default. They even added the concept of unconfined users and types which makes management of the systems even easier. It's when folks try to overlay their custom apps into Redhat space that they get stuck. Overlaying your apps can be done, but you have to add the appropriate labels via semanage to the system. You can even add these custom rules in your custom rpm's.

If you want to see the original complexity of SELinux, use the MLS policies, remove the unconfined users and types. That is the SELinux that the NSA wrote that folks mentioned here. Dan W. at Redhat made it significantly easier. Now you can even pass the soft errors from Permissive mode into tools like audit2why or audit2allow that will suggest Boolean you can enable, or rules you might create. He also adapted it to support systemd and containers to a degree.

</comment><comment><USER6> I do like it when security polices are compiled into the program and like it even better when they are impossible to disable. That way programs avoid getting out of sync with best security practices since they will start crashing for all users/developers. Not just users of X but not Y. However programs that try to work with pledge/capsicum/seccomp/others are great but always going to be in a very small minority. So something like SELinux and Apparmor being able to enforce policies on arbitrary software seems like a necessary seatbelt.

</comment><comment><USER7> I used SELinux commercially in 2000 on an embedded surveillance platform project. I've never used it since, because it's such a hassle to deal with. Special snowflake systems are just so rarely the right thing to do.

I do believe this type of approach will become easier as CI/CD becomes the norm, but that's gonna be awhile yet.

IMHO to date you will often get more value for time invested out of alternate strategies like thinning down a kernel and userspace, running a server diskless with frequent reboots, adding a second server for failover, using a grsec kernel, or running a decently maintained and tuned IDS/firewall combo.</comment>


Dogs Forget Events Two Minutes Later - <AUTHOR> http://news.nationalgeographic.com/news/2015/02/150226-dogs-memories-animals-chimpanzees-science-mind-psychology/ <comment><USER2> Mmm....seems a bit dubious. My dog likes me to hide his rubber ball so he can go look for it, and he's so good at remembering places I've hidden it before that finding new places to make him really _look_ for it is a problem (he's not very scent-motivated). Now of course he could be relying on associative memory because I praise him when he does a good 'find' but their test here looks overly reductionist to me. For sure, if I'm doing something else for a while and then ask him where his ball is, he may well have forgotten where he left it and looks in random places. So his memory is not that great; on the other hand, when I see that he has multiple balls (which he enjoys hoarding) in one spot I'll call him to bring one over, then wait a bit before telling him to go get another one, in which case he knows exactly where to go. I'll try timing the interval to see how long before he forgets his previous position.

The other thing that occurs to me is some dogs' habit of burying bones and so on that they may want to store for later. Sure, they are using their sense of smell there, which is many times better than ours, but given that dogs don't have mediocre vision to start with (by comparison to ours), I wonder again about the quality of the experimental design. If you asked people to remember something using one of their inferior senses - say, a series of fabric textures that are only touched rather than seen - I suspect they would turn in mediocre results. It seems to me that the stimuli used in the experiment were too abstract to be sufficiently engaging to the animals, for the same reason that we don't have a very extensive tactile vocabulary, notwithstanding the importance of touch as a sense.

<comment><USER3> I'll be generous and suggest that NatGeo didn't translate the research fully correctly. The quote from the researcher is "animals have no long-term memory of arbitrary events" though there may be "specialized memory systems hardwired to remember certain "biologically relevant information" (such as where to find food)."

This would mean that it's much harder to have a discussion abou the topic without a detailed understanding of what "associative memory", etc. means - knowledge I don't have.</comment></comment>


More Than a Year Later– An Embarrassing Confession To Make By A Wannabe Coder - <AUTHOR> http://www.codelogs.org/more-than-a-year-down-the-line-an-embarrassing-confession-to-make/

<comment><USER2> Why switch a language just 'cause it's the popular thing on SO? Stick with a language till you got the coding skills done. Switching language after that is pretty easy.

<comment><USER3> He switching because he's losing motivation and hopes a new language will solve his problems.

<comment><AUTHOR> You got that right. It's a battle with my inner monster.

</comment></comment></comment><comment><USER4> Well you're honest with yourself, and it seems like you know what the answer is. It's great that you're following a 'marriage-driven development' methodology, so pick a language and stick with it, be it PHP, Python or Ruby. None of them is universally better than the others.

Most languages are better at solving specific types of problem. Choose what types of problem you most enjoy working on, and pick the language that suits those problems.</comment>


Tesla to build electric vehicles with Toyota at NUMMI plant - <AUTHOR> http://green.venturebeat.com/2010/05/20/tesla-and-toyota-teaming-up-to-build-electric-cars-schwarzenegger-lets-slip/?utm_source=twitter&utm_medium=twitter-publisher-main&utm_campaign=twitter

<comment><USER2> The story of NUMMI is an amazing one. This American Life dedicated an entire show to its unique history several weeks ago: [http://www.thisamericanlife.org/radio- archives/episode/403/n...](http://www.thisamericanlife.org/radio- archives/episode/403/nummi)

It's a full hour, but it goes by fast. By the end of it you'll probably be as excited as I am by today's news.

<comment><USER3> That This American Life episode was the first thing I thought about when I read this news. I heartily second the recommendation that everybody listen to it. It made me very happy that the NUMMI plant was going to get a new lease on life. I hope Tesla makes it.

</comment></comment><comment><USER4> <http://news.ycombinator.com/item?id=1366106>

</comment><comment><USER5> I hope they reopen the tours at NUMMI.</comment>


Ask HN: Happiness is Unconscious As Suffering is the sole origin of consciousnes - <AUTHOR> <comment><USER2> One could say that goal-driven behavior, anxiety, suffering, and quite a few things have to do with the difference between "what is" and ("what i want" | "what is right" | "what i am used to" | ...)

Which then begs the question: does a thermostat suffer on a very cold day?

<comment><USER3> That begs the question as to whether thermostats can suffer at all.*

* [https://en.wikipedia.org/wiki/Begging_the_question](https://en.wikipedia.org/wiki/Begging_the_question)

<comment><USER2> Thanks for the correction!</comment></comment></comment>


Please don't put 150KB of linebreaks in your HTML - <AUTHOR> http://www.kmart.com/shc/s/p_10151_10104_024B024209560001P?blockNo=1&blockType=G1&prdNo=1&i_cntr=1301605421163

<comment><USER2> wow, first content in the source is the doctype on line 574. Line count: 10,224</comment>


A Beginner's Guide to Firewalling with pf - <AUTHOR> http://srobb.net/pf.html <comment><USER2> The PF User's Guide [0] covers most of what one needs to know for basic firewalling and includes full examples of rulesets.

[0]: [https://www.openbsd.org/faq/pf/](https://www.openbsd.org/faq/pf/)

<comment><USER3> And Peter Hansteen's PF tutorial is top notch too:

[https://home.nuug.no/~peter/pf/en/](https://home.nuug.no/~peter/pf/en/)

he also has a book that I've heard is great, but don't own (yet)

<comment><USER4> Thanks for mentioning it. If this is it, it's in O'Reilly's Safari catalog (I've no association, just a Safari account):

        The Book of PF, 3rd Edition
        By: Peter N.M. Hansteen
        Publisher: No Starch Press
        Pub. Date: October 8, 2014
        Print ISBN-13: 978-1-59327-589-1
        Pages in Print Edition: 248

[http://my.safaribooksonline.com/book/operating-systems- and-s...](http://my.safaribooksonline.com/book/operating-systems-and-server- administration/openbsd/9781457185410)

</comment></comment></comment><comment><USER5> I am just going to point out how much slack I got 20 years ago -- oh god it was 20 years ago -- from all my friends for running OpenBSD because I thought PF was amazing, also their release art is bad ass too.

I think it is odd that of lately, that it seems to becoming popular -- as if it is something new. Either way I m happy, something old that is new again and I can spend my time learning something else, maybe k8s? nah, I will pass, some things are just fads.

</comment><comment><USER6> When I had to do some pf work, googling around rendered this project which uses pf to provide network segmentation for jails and edge firewalling. Was quite useful learning reference:

[https://github.com/sinner-/ansible- freebsdvps/blob/master/ro...](https://github.com/sinner-/ansible- freebsdvps/blob/master/roles/pf/templates/pf.conf.j2)

</comment><comment><USER7> This is for a very old version of pf. The "scrub in all" construct hasn't worked since OpenBSD 4.6, which was about 8 years ago.

The guide touches on how "quick" can speed up rule evaluation. But I think this misses the big picture. I write all the rules I can using "quick", and only omit it when the language constructs provided force me to. E.g. sometimes you need to "match" and so "quick" doesn't apply.

I'd sure like someone to explain to me why "quick" isn't the preferred way or even the only way to do things. As best as I can figure, this awkwardness was inherited from the rules for ipf. But ipf was thrown out of OpenBSD about 15 years ago. I guess it made it easier to convert ipf rules to pf rules if "non- quick" remained the default behavior?

<comment><USER8> It's for FreeBSD's version of pf, which is basically a fork. Differently from the one in OpenBSD it uses the old syntax. On the other hand, it scales.

</comment></comment><comment><USER9> First "tip" is to regularly disable the firewall. This is stupid and dangerous.

I do the following on my machines:

      # cp /etc/pf.conf /etc/pf.conf.good
      # crontab -e
      */5 * * * * /sbin/pfctl -f /etc/pf.conf.good
      :x
      # #now vi /etc/pf.conf; pfctl -f /etc/pf.conf; and if OK: cp /etc/pf.conf /etc/pf.conf.good

<comment><USER10> That tip is supposed to apply just while you are learning how to use pf so you don't block yourself from your machine.

<comment><USER11> Seems like a better tip would have been "Don't muck with global network settings over a ssh pipe. Use a local console, dummy".

All physical hardware has them. All hosting companies offer them via various tricks. This is why.

</comment></comment></comment><comment><USER12> The configuration syntax of pf reads like a poem, pure, clean, perfect. I really prefer PF. It is just mind-compatible. OpenBSD did a really good job here (albeit I use PF with FreeBSD only).

<comment><USER13> A lot of OpenBSD's other subprojects (like OpenSMTPd and relayd/httpd) use a similar syntax. Really makes OpenBSD configuration a breeze.

</comment></comment><comment><USER14> I wonder if macOS is still using an older version of pf. Last time I looked it was old enough that a lot of the examples and discussions about pf were of limited value or required translation to the older version.

</comment><comment><USER15> How does pf compare to bpf /ipsets in terms of throughput ?

</comment><comment><USER16> Are there any differences when dealing with MacOS?

</comment><comment><USER17> An important tip for people migrating from iptables: rules are not applied on a first match basis, but rather last match! I've made several mistakes due to that before..

</comment><comment><USER18> Pf always seemed so insanely over complicated for simple usage. It's been my one single annoyance with BSD. Are there not any good alternatives with a UFW- esque interface?

<comment><USER19> Comparing UFW to pf is apples and oranges.

Using a more apples to apples comparison, pf is way simpler than iptables.

By bringing up UFW which is an iptables wrapper, you're not looking for a pf alternative so much as a pf wrapper. But it was the complexity of iptables that drove development of wrappers like UFW in the first place - pf doesn't really have the same level of need that iptables did.

Personally having used iptables and ipfilter I always thought pf was pretty simple.

<comment><USER18> > By bringing up UFW which is an iptables wrapper, you're not looking for a pf > alternative so much as a pf wrapper. But it was the complexity of iptables > that drove development of wrappers like UFW in the first place - pf doesn't > really have the same level of need that iptables did.

I fully understand that Pf is equivalent to iptables, and is a lower level abstraction than UFW. But the question stands; Is there a simple foolproof utility for blocking ports on BSD with a single command? I just don't feel like whitelisting port 80 should require authoring a config file.

<comment><USER20> >Is there a simple foolproof utility for blocking ports on BSD with a single command?

Yes. It is called pf.

        block in  on fxp0  proto tcp  to any  port { 25 80 }

... blocks incoming email and http connections on the fxp0 interface. That is all you need to put in pf.conf to do that.

<comment> bleu-ble-bleu I agree. The syntax is very readable and easy to understand. With consumer firewalls being pwned all the time, OpenBSD with PF could be a good option for some people.

<comment><USER21> I'm going to have to get it set up again... ahh the simplicity and robustness of OpenBSD...

</comment></comment></comment></comment></comment></comment><comment><USER22> Do I need queuing on my OpenBSD home router or should I just use "prio" if I want my downloads to stop making my internet barely usable?

</comment><comment> fake-name Step 1: Install OPNSense/PFSense?

<comment><USER23> Aren't both pfSense and FreeNAS running their php-backed webinterfaces as root?

<comment> fake-name Yeah, though opnsense is trying to fix that.

</comment></comment></comment><comment><USER24> It's dead link.</comment>


Does it matter if the sum of all integers is -1/12?  - <AUTHOR> http://blog.rongarret.info/2014/01/does-it-matter-if-sum-of-all-integers.html

<comment><USER2> I think this video does matter, but I think it's in a good way. What follows is a gross over-simplification, and it's more of a rant than a real explanation. I may not even agree with it tomorrow. Hell, I don't fully agree with it now. But here's a flavour of how I see it.

Broadly speaking there are four main groups:

A: Those who won't see it or don't care;

B: Those who will use this as an opportunity to diss and dismiss math, to ridicule and deride those who do math;

C: Those who start asking why and how this can be "true," and why and how it can be useful;

D: Those who understand that it's really just math geeks having fun.

We can ignore group A, they won't be affected.

We can ignore group B, they will never be converted, and will actively look for reasons to excuse their disinterest and disengagement. They are the ones who already seize on things like the usual proofs that 1=2, and so on. No harm will be done here. In fact, we can use this to identify them, and work with them to hone the skills they will need. Doing arithmetic and getting hold of a sense of number will be the best way to help them.

We can ignore group D, they already get it.

But in group C there is an opportunity. These are the ones who we can start to get engaged in real math, and not the crappy drivel they get exposed to in school. For them we now have an opportunity to share why math can be fun and exciting, as well as useful.

The people in group B who rant about how this is overt, obvious nonsense, and all math is pointless, they are lost already. Sadly some will go on to be politicians, and we must continue to defend against them, yes. But this sort of fun video gives us the chance to talk about what real math is like, and what real math involves, and to capture those who possess the raw skills we need in the more difficult, technical, abstract, fundamental subjects.

</comment><comment><USER3> My real issue with the video is not even in the bad proof. It's that mathematics, which I find to be so great and fun, is being misrepresented. Mathematics gets so little public exposure as it is, so to have this be the thing that makes its way through the internet is just sad.

</comment><comment><USER4> "Does it matter if the sum of all integers is -1/12?"

Yes. Yes, it does matter, because the series 1 + 2 + 3 + ... diverges. It's that simple.

<comment><USER2> No, it's not that simple. If you go and actually read some of the more detailed pages you'll find that really, _really_ advanced math allows us to put a consistent interpretation on it.</comment></comment>


Pixie Dust & The Mountain of Mediocrity (by Kathy Sierra) - <AUTHOR> http://gapingvoid.com/2011/06/07/pixie-dust-the-mountain-of-mediocrity/ <comment><USER2> Kathy Sierra is always worth the read. She stopped blogging regular a few years ago due to personal reasons. If you're therefor not familiar with her writing, it's worth a look.</comment>


A new location software for Android - <AUTHOR> https://market.android.com/details?id=com.paulxiong.imhereplus "Im Here Plus" is a combination of "I'm here" and "Where are you?"<p>"Im Here Plus" is a combination of "I'm here", "Where are you?" and SMS popup. "Im Here Plus" allows you to use SMS text messaging to check the status and GPS location of any person on your contact list, as long as they have "Im Here Plus" installed as well. You may also choose to send others your current location via SMS, whether with just your GPS address or with an edited personalized location. Anyone can also text you "where r u?" from any device and receive an automatic response with your availability (which you may manually select: busy or free), as well as your current GPS location. <comment><USER2> This looks like it could be the first step to having Harry Potter's Marauder's Map</comment>


GCC x86 Performance Hints (2012) - <AUTHOR> https://software.intel.com/content/www/us/en/develop/blogs/gcc-x86-performance-hints.html <comment><USER2> This article is way too outdated.

Also, who the heck uses -flto on GCC 4.7.1? LTO is experimental in GCC 4.7.1 and will make any application nigh-impossible to debug.

Here's something more relevant to modern times: [http://hubicka.blogspot.com/2019/05/gcc-9-link-time-and- inte...](http://hubicka.blogspot.com/2019/05/gcc-9-link-time-and-inter- procedural.html)

<comment><USER3> Turning on LTO in Fedora hasn't been entirely painless despite SUSE's pioneering.

</comment></comment><comment><USER4> -flto is great if your project is less than 15,0000 lines. Otherwise, -Ofast in conjunction with -flto creates a single threaded link time step that's longer than half a minute, and it only goes up from there

<comment><USER5> The gold linker and now lld can do LTO pretty fast across huge codebases: this breaks down the techniques used [https://archive.fosdem.org/2019/schedule/event/llvm_lld/](https://archive.fosdem.org/2019/schedule/event/llvm_lld/)

Curious that Intel seems to recommend dynamic linking to get architecture specific libc function implementations. Dynamic linking has considerable overhead.

<comment><USER6> I'm curious why this is necessary nowadays. Why not just ship a multi architecture static libc that chooses implementation at runtime? Branch prediction should make that practically zero cost, and with cache sizes at all levels I doubt binary size would have an impact. Are there other reasons?

<comment><USER7> > Are there other reasons?

I think some systems don't have a stable kernel interface. The system-provided libc is that interface.

On Linux I believe that this is possible (and fairly common using the MUSL libc), but that glibc doesn't support static linking and many people want to use glibc for performance and compatibility reasons.

<comment><USER8> > I think some systems don't have a stable kernel interface. The system- > provided libc is that interface.

In fact, a lot of systems don't have a stable kernel interface, Linux is the exceptions here. In Microsoft Windows, one must link against Kernel32.dll to communicate with the kernel. On OpenBSD, the libc provides the stable syscall interface (and in fact the kernel will refuse syscalls from outside the libc as a security measure, see [0]). MacOS and Solaris are two other OSes where, if I understand correctly, syscall ABI is not guaranteed and must go through a common library. Go used to embed syscalls, and ran into a lot of problems because of this.

[0]: [https://marc.info/?l=openbsd- tech&m=157488907117170&w=2](https://marc.info/?l=openbsd- tech&m=157488907117170&w=2)

<comment><USER9> I get that openbsd is obsessed with security, but this still makes me a little sad. C is very old, and it should be possible to create programs and programming languages that have no idea what C is or what libc is. Forcing all programs to communicate with the OS via libc seems wrong

<comment><USER8> On one hand, from an idealistic point of view, I agree, and am a very, very big believer of having actual, carefully designed ABIs for kernel (and inter- process) communications.

On the other hand, the structures required to do syscalls via libc/kernel32 are generally simple enough that it's not a huge deal, and the difference between doing a raw syscall and doing a function call is unlikely to actually matter.

Fun fact/pet peeve: on android, if you want to communicate with most services, you need to go through Binder. While the low-level Binder ABI is stable, the services written on top of it aren't, and often change in backwards- incompatible ways. This includes core services like SurfaceFlinger (necessary to draw on the screen). This means that it's generally impossible to create purely native software on android - you always have to call into Java to talk to those services.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> In my .bashrc I use

export CFLAGS='-O2 -march=native -mfpmath=sse -fopenmp -fomit-frame-pointer -pipe -fno-unwind-tables -fno-asynchronous-unwind-tables'

<comment><USER11> Why would you put something like that in bashrc?!

</comment></comment><comment><USER12> I wonder if there is an equivalent for MSVC and Clang Compilers.

Would be nice if there was a good guide somewhere on flags to use (and their trade-offs) for fast floating point performance for numerical intensive programs.

</comment><comment><USER13> It feels like they are actually trying to convince me to finally switch to Clang or something.

I mean, I have actually still never used Clang, but even before this list, I was aware that there were quite a few gcc defaults that were ridiculous.

But every gcc article is about how there are even more ways that gcc doesn't actually work sensibly unless you know the trick.

I mean, why doesn't it say somewhere in the help next to the optimization stuff that you might want to consider specifying the architecture?

<comment><USER14> I'm not sure I understand your argument. The optimizations here are:

>"-Ofast" same as "-O3 -ffast-math"

-ffast-math makes the compiler violate IEEE, it would make a very bad default.

-O3 used to be potentially buggy and somewhat experimental, although I doubt that it's much of a practical problem these days. It still makes the code harder to debug though. Most build systems I'm aware of default to debug builds, so GCC is not really unique in that regard.

>"-flto" enable link time optimizations

Those optimizations are typically quite expensive and can backfire in some scenarios. Link time optimizations are relatively novel, at least within the timeframe of GCC. I'm sure they'll be enabled by default some day, but GCC has to be conservative.

>"-mfpmath=sse" enables use of XMM registers in floating point instructions (instead of stack in x87 mode)

So that means that you tell the compiler to assume that SSE is available on the target. By default GCC outputs code that's compatible with the baseline, which is perfectly reasonable IMO. Same reason why -march=native is also not the default, it is assumed that you may want to ship your binaries to other computers.

>"-funroll-loops" enables loop unrolling

From GCC's own docs:

"This option makes code larger, and may or may not make it run faster."

Loop unrolling is tricky, because it gets rid of branches but also increases the size of the code and therefore the pressure on the icache. In some scenarios it's possible that the looping code run faster than the linear version if it saves on cache misses.

Given that there are tradeoffs involved, it's also reasonable to let the user decide to enable this optim.

I work with C a lot and IMO the only default in GCC that's truly bad is that it doesn't have -Wall by default.

<comment><USER15> > So that means that you tell the compiler to assume that SSE is available on > the target. By default GCC outputs code that's compatible with the baseline, > which is perfectly reasonable IMO. Same reason why -march=native is also not > the default, it is assumed that you may want to ship your binaries to other > computers.

If your x86 computer was made after the US invaded Iraq, it supports SSE2 instructions.

<comment><USER16> It's also possible someone may prefer the 80-bit intermediate precision of the x87 registers. I guess.

<comment><USER15> long double in either x87 or SSE mode will force the use of 80-bit fp values.</comment></comment></comment></comment></comment>


New Simplegeo Products: Introducing Context & Places - <AUTHOR> http://blog.simplegeo.com/2010/12/08/product-updates/

<comment><USER2> Jesus, those icons are gorgeous. Bigger versions here:

<http://simplegeo.com/products/>

Reminds me of the new Disqus graphics - looks like 3D is the new gradient.

<comment><USER3> That's because they were done by the same people, take a look at their 'portfolio' on Dribbble - it's really impressive: <http://dribbble.com/softfacade>

Side note to HNers, if you're in need of great design then I'd recommend perusing Dribbble. I've found a few freelancers there that have done some amazing work.

Full size can be seen here: <http://www.flickr.com/photos/softfacade/5244241757>

</comment></comment><comment><USER4> (Disclaimer: I work on SimpleGeo Context) Context can pinpoint a lat/lon to the Longhorns' football stadium or the UT campus: <https://gist.github.com/11e86c689cca9f65bc3d> We have tons of hyper-local boundaries indexed including museums, parks, churches, etc.

<comment><USER5> I had some ?s regarding Context and using it in my app. Could you e-mail me (check my profile).

</comment></comment><comment><USER4> Here are some demos: <http://schuyler.github.com/simplegeo-context-demo/> <http://schuyler.github.com/simplegeo-places-demo/>

<comment><USER6> I assume the search for places-demo should work by pressing enter? Nothing happening for me... Or am I just looking at the wrong locations? I was testing with the map zoomed in Manila, PH, and Turku, Finland.

My browser is Chrome 8.0.552.215 beta on Windows Vista.

<comment><USER6> Search demo: Tried panning the map and zooming to New York and searching for "Starbucks" and "coffee", no luck... Am I missing something?

Context demo: Clicking on map, nothing happens. Maybe the service is down?

</comment></comment></comment><comment><USER7> Very timely... considering that both Google and Facebook are getting into contextual search</comment>


ClojureScript One - <AUTHOR> http://clojurescriptone.com/ <comment><USER2> ClojureScript is the only compile to JS language that I'm aware that lets you fully leverage the power of modifying JavaScript prototypes w/o fear of gross incompatibilities:

<http://clojurescriptone.com/documentation.html#one.color>

Note that they've extended (safely because of namespaces) browser natives including Element, Array, String, as well as the custom ClojureScript data types to respond to the color function.

<comment><USER3> Thanks for putting that together, especially the documentation! I think that I would save a lot of time, _eventually_ , using a uniform Clojure development environment for server side and client side, but I am hesitant to spend the learning curve time right now. (Clojure, Noir, and Javascript are working out really well for me.)

Your good job on documentation will get me to spend the learning curve time sooner than later.

I also do work using GWT and SmartGWT and the uniform development environment (even if it is Java :-) really helps work flow.

<comment><USER2> Don't thank me, thank fogus & Clojure/core! :)

<comment><AUTHOR> Actually you should thank Brenton Ashworth, Craig Andera, Jen Myers, and Kevin Altman. It is and looks as beautiful as it does because of them.

</comment></comment></comment></comment><comment><USER4> I assume this is just-launched, but being able to do examples online would be amazing. I believe ClojureScript does not include (eval) so you'd have to route to the server and back; perhaps this is feasible?

<comment><USER5> There is a clojure jail so yah it is feasible.

</comment></comment><comment><USER6> Looks great. What I would love to see is a ClojureScript tutorial that doesn't assume you already know Clojure.

<comment><USER7> ClojureScript is a subset of Clojure, so you do need to more or less know Clojure. The main benefit to ClojureScript is that you can use essentially the same language on the front- and back-ends.

<comment><USER8> Yes, but it doesn't really mention that in the documentation. It would be good to something along the lines of "You will need to know Clojure to use ClojureScript One, go here to learn it".

This looks excellent though - I'll give it a go once I think of a toy project to try it with.

</comment></comment></comment><comment><USER9> It would be supercool to see something like this using websockets.

<comment><USER10> Here is a good example of ClojureScript <-> Clojure communication <https://github.com/neotyk/ws-cljs> It uses the Aleph Clojure library on the server side.

</comment></comment><comment><USER11> How good is the interop with existing js libraries? Would i be able to use webgl or three.js?

<comment><USER12> The short answer is yes, ClojureScript has similar interop features for vanilla JS as Clojure for the JVM has for Java.

However, given that ClojureScript uses the Google Closure compiler to optimize production code, there are a few gotchas to be aware of. This article does a great job at explaining the details:

• [http://lukevanderhart.com/2011/09/30/using-javascript-and- cl...](http://lukevanderhart.com/2011/09/30/using-javascript-and- clojurescript.html)

</comment></comment><comment><USER13> Thank you very, very much for this.

Note: Installing failed for me until I replaced git:// with <https://> in two places in script/deps. Then it worked.

<comment><USER14> Strange for me it was he other way around. I had to replace <https://> with git:// , perhaps it depends on the git version? mine was probably pretty old.

</comment></comment><comment><USER15> View -> Source on this page. Just do it.

<comment><USER16> Yes, do it! The people downvoting you obviously didn't!

<comment><USER17> Or they did it but only on the first page. What you should look at is the source for the documentation page (<http://clojurescriptone.com/documentation.html>).

</comment></comment></comment><comment><USER18> From a design perspective, that is one sweet looking site! Who created it? With what?

<comment><USER18> Okay, that was kind of a dumb question. I assume it's created using ClojureScript One. What I meant was how was the visual design created?

<comment><USER19> This podcast from Relevance - [http://thinkrelevance.com/blog/2012/01/12/podcast- episode-00...](http://thinkrelevance.com/blog/2012/01/12/podcast- episode-003.html) talks about the development of ClojureScript One, and names a few people responsible for the visual design.

I believe Jen Myers (@antiheroine) is one of them.

</comment></comment></comment><comment><USER20> How do I [intelligently] choose ClosureScript over say, Node.js?

<comment><USER21> This is definitely a question worth asking. I think the audience ClojureScript is most appealing to is those who are already writing server-side stuff in Clojure and want to have a consistent front end or "old-school Lisp hackers" who are now writing web applications.

Personally, I'm attracted to Lisp/Clojure because of its AI history but haven't put the time in to build anything real with it yet. Are there people who have switched away from (Node || Python || Ruby) && JS who could discuss their experience?

<comment><USER22> I've done Ruby for years and I've written one large commercial project in clojure. Clojure was great, and I would love to use it more, but I haven't been able to convince people to use a lisp.

It's very strange actually, I tried really hard to do a small project in clojure at my current job and got resistance from everyone. These same people were happy to try coffee script, scala, golang, etc, etc. There seems to be a true bias against lisps.

<comment><USER23> Personally, all I can say is: Other people can choose to accept or reject parentheses. As people who know and understand the power and inherent elegance of the language we need to skip the step where we yearn for recognition and go straight to the "doing really fantastic stuff and making you jealous" portion of the narrative.

We dote too much on the history of Lisp w/r/t Clojure IMO. Clojure is not CL. Clojure is not Scheme. Clojure is not Haskell. Clojure is Clojure. It has its own state, identity, and time. Make great stuff with it and other people will follow. My feeling is that was need to quit waiting for approval and simply draw the line in the sand. I would be happy to forfeit future programming job opportunities if it meant committing to a language that solves the problems I care about. Will everyone do that? Unlikely. Will the people who know better than to settle for second best do it? I have a feeling the answer there is closer to yes.

<comment><USER24> The joke is, David Wheeler demonstrated years ago that you don't need most of the parens:

<http://www.dwheeler.com/readable/sweet-expressions.html>

It wouldn't be too hard to develop an indentation-based dialect of Clojure.

<comment><USER25> This is well known and has allready been done for clojure (cant remember where I saw it).

There are problems with this syntax when you combine it with macros. There is some work done to solve this but not much. For a (theoretical) lisp that works this way, see here: <http://users.rcn.com/david-moon/PLOT/></comment></comment></comment></comment></comment></comment>


Exploring Mathematics with Matplotlib and Python - <AUTHOR> https://programmingzen.com/exploring-mathematics-with-matplotlib-and-python/ <comment><USER2> This is a nice article. For those who have not yet read it (it's short, read it!), a one-paragraph summary: the author starts with a list of random numbers. Visualizing it (plotting the numbers, with the list index on the x axis) suggests / leads to (for the author) curiosity about how often numbers repeat. Plotting _that_ leads to the question of what the maximum frequency would be, as a size of the input list. This can lead to a hypothesis, which one can explore with larger runs. And then after some musings about this process, the post suddenly ends (leaving the rest to the reader), and gives the code that was used for plotting.

This article is essentially an encouragement and a reminder of our ability to do experimental mathematics ([https://en.wikipedia.org/w/index.php?title=Experimental_math...](https://en.wikipedia.org/w/index.php?title=Experimental_mathematics&oldid=899918382)): there's even a journal for it, and the Wikipedia article on it is worth reading ([https://en.wikipedia.org/w/index.php?title=Experimental_Math...](https://en.wikipedia.org/w/index.php?title=Experimental_Mathematics_\(journal\)&oldid=894684677)). See also (I guess I'm just reproducing the first page of search results here) this article ([https://www.maa.org/external_archive/devlin/devlin_03_09.htm...](https://www.maa.org/external_archive/devlin/devlin_03_09.html)), these two in the Notices of the AMS ([https://www.ams.org/notices/200505/fea- borwein.pdf](https://www.ams.org/notices/200505/fea-borwein.pdf), [http://www.ams.org/notices/199506/levy.pdf](http://www.ams.org/notices/199506/levy.pdf)), this website ([https://www.experimentalmath.info](https://www.experimentalmath.info)), this post by Wolfram ([https://blog.stephenwolfram.com/2017/03/two-hours-of- experim...](https://blog.stephenwolfram.com/2017/03/two-hours-of-experimental- mathematics/)), and there's even book by V. I. Arnold (besides a couple by Borwein and Bailey, and others).

Especially in number theory and probability, simple explorations with a computer can suggest deep conjectures that are yet to be proved.

<comment><USER3> Layman here

Thank you so much for pointing this out! Experimental mathematics feels like a missing puzzle piece in which it makes so much more sense.

Quotes are from the wiki article you linked.

> As expressed by Paul Halmos: "Mathematics is not a deductive science—that's > a cliché. When you try to prove a theorem, you don't just list the > hypotheses, and then start to reason. What you do is trial and error, > experimentation, guesswork. You want to find out what the facts are, and > what you do is in that respect similar to what a laboratory technician > does."[3]

I wish there were books on how people would describe their complete process (not only their proof) on how they figured things out.

> Mathematicians have always practised experimental mathematics. Existing > records of early mathematics, such as Babylonian mathematics, typically > consist of lists of numerical examples illustrating algebraic identities. > However, modern mathematics, beginning in the 17th century, developed a > tradition of publishing results in a final, formal and abstract > presentation. The numerical examples that may have led a mathematician to > originally formulate a general theorem were not published, and were > generally forgotten.

Why is this the case? It seems like it doesn't benefit us other than saving some paper.

> The following mathematicians and computer scientists have made significant > contributions to the field of experimental mathematics:

Fabrice Bellard

Donald Knuth

Stephen Wolfram

(among others)

\--> This is so awesome, it also sheds some light into how these people think.

<comment><USER4> This isn't to defend how it's done, but the tradition has been that the "laboratory technician" skills are learned on the job. This is true of lab tech work as well. I've taught a number of summer interns how to solder, but it's not written up in any research paper. Of course that makes it hard if one isn't preparing to do it as a job.

<comment><USER5> > _I 've taught a number of summer interns how to solder, but it's not written > up in any research paper._

Not in a research paper, but it is described in some nice decades-old training videos, [https://www.youtube.com/playlist?list=PL926EC0F1F93C1837](https://www.youtube.com/playlist?list=PL926EC0F1F93C1837)

</comment></comment></comment></comment><comment><USER6> 1\. How many people do there need to be in a room so the there is a greater than 50% chance of at least two of them sharing the same birthday?

2\. How many numbers we have to draw from 365 so the there is a greater than 50% chance of at least two of them are the same?

3\. How many numbers we have to draw from X so the there is a greater than Y% chance of at least Z of them are the same?

I think X,Y,Z are enough parameters:

Drawing from X=1000 numbers, what is the chance Y that Z=(5,6,7,8...) is the same?

Sorry, I'm not a matematician, just some breakfast ideas ;)

Edit: Inspired by [http://datagenetics.com/blog/february72019/index.html](http://datagenetics.com/blog/february72019/index.html)

</comment><comment><USER7> I'm embarrassed to see such a post upvoted. Also, matplotlib is outdated. If you want a good visualization tool, it should leverage as many features as it can to present the most information possible. This includes not just color but interactive tools like hover tools. A library like bokeh makes this extremely easy for example. I'm a bit sad to see such posts whose purpose is to demonstrate how to leverage visualization tools to improve our understanding of a phenomenon by people holding on to legacy outdated tools. It sends the wrong message.

<comment><USER8> How is matplotlib outdated? It's just relatively low-level, so it might be quicker to use high-level tools like seaborn or altair (which use matplotlib as their backend), if that fits the situation. For heavily customized publication-ready plots (that means print), there is no alternative to matplotlib. The other two low-level Python visualization libs, plotly and bokeh (see [https://pyviz.org/tools.html](https://pyviz.org/tools.html)) focus on interactive plots, which is an entirely different use case! Bokeh just does not generate visualizations for print. Thus, it does NOT make matplotlib obsolete. On top of that, last time I checked, bokeh was far less flexible than matplotlib.

<comment><USER9> Mighty matplotlib isn't going away any time soon, but just because Plotly makes interactive plots, it doesn't mean you can't also

a) customize every aspect of the chart, from the fonts to the length of the axis ticks to the legend placement etc (see the full list of thousands of available customization attributes here: [https://plot.ly/python/reference/](https://plot.ly/python/reference/))

b) export to raster or vector formats for publication ([https://plot.ly/python/static-image-export/](https://plot.ly/python/static- image-export/))

c) use high-level grammar-of-graphics-inspired tools like [https://plotly.express/](https://plotly.express/) to create complex charts in a single line of code.

<comment><USER8> I haven't really looked at plotly in a very long time. At that time, it was cloud-based. Having the data I'm plotting sent to ploty's servers, or more generally, my plots depending on the availability of some remote server, was a no-go for me. Has this changed?

<comment><USER9> Very much so! Plotly.py version 4 is "offline-only" just like matplotlib and other libraries: [https://medium.com/plotly/plotly-py-4-0-is-here-offline- only...](https://medium.com/plotly/plotly-py-4-0-is-here-offline-only-express- first-displayable-anywhere-fc444e5659ee)

<comment><USER8> Very nice! I might give it another try sometime soon, then!

</comment></comment></comment></comment></comment></comment><comment><USER10> As much as I love the Python language, it is shameful how it has become a sort of "schtrumpf"-like addition to any computer-related stuff. Such introductory tutorials are great (but this one, specifically, would benefit much by having the code that generates each figure next to it). However, it is really not necessary to specify that your particular thing is "with Python" as if it really meant anything fundamental.

What kind of shitty reasoning leads to this? "Oh, let's introduce this elementary mathematics to the illiterate masses by writing it as a Python script. Now everyone will understand it!" This is a lack of respect for the agency of the readers.

<comment> jorge-fundido Perhaps it's just a factual element. Or perhaps the intention is `s/python/pragmatic/`. Yeah, python sucks in many ways but is it really so horrible? I know! Let's ask the reader to get intimate with a static compiler. If they're "smart" enough to satisfy (or trick) the compiler, then they've earned the "reward" of being able to execute their program.

There is value is static typing, but there are many instances where that cost is not worth the reward.

<comment><USER5> I think the grandparent poster was just pointing out that this post has very little to do with python or matplotlib, with the code to generate the plots just thrown in as an afterthought at the end. Which makes it weird to have them in the title. (Whether python is a good tool or not is unrelated to this observation.)

I would expect a post entitled "exploring mathematics with python" to have a whole lot more python code (inline with the text and better explained instead of an uncommented blob at the end) and a whole lot more mathematics.

A more accurately descriptive title for this post might be "counting the repetitions among randomly chosen positive integers".... which of course isn't going to get as many clicks or as many reflexive upvotes from non-readers as a post promising "exploring mathematics with python" because it doesn't sound (and frankly isn't) all that interesting to most readers. (It might make a decent short project for middle school students though.)

Personally I flagged the post for its misleading title.

<comment><USER11> What I got out of the post was that exploratory and experimental mathematics is fun and worthwhile and if you haven't tried it, you should, and by the way, this experiment uses Python and matplotlib (which some readers may already know). I think you missed the point of the article.</comment></comment></comment></comment>


Joxa – A Modern Lisp for the Erlang VM - <AUTHOR> http://joxa.org/ <comment><USER2> Interesting - can anyone provide an in-depth comparison to LFE [1]? From a quick look, it looks like Joxa is more similar to Clojure than it is to Common Lisp, whereas LFE takes the opposite appoach.

[1] [https://github.com/rvirding/lfe](https://github.com/rvirding/lfe)

<comment><USER3> Its mostly about approach. LFE (literally Lisp Flavored Erlang) is Erlang with an S-expression based syntax. Joxa is a self contained Lisp that happens to run on the Erlang VM.

Those are the core differences. Joxa also has some very clear and distinct goals of its own. Those goals are not really relevant to this discussion though.

<comment><USER4> Not quite, LFE is a self-contained Lisp system with all the things you would expect a lisp system to have. It has been designed to run on the Erlang/OTP system and to efficiently use all the features of that system and its VM. This means that LFE has a clean interface to Erlang/OTP so it can easily be used together with applications written in Erlang. Mixing components written in Erlang and in LFE to write a larger application is straight-forward and painless.

If I could rename it then a better name would be EFL (Erlang Flavoured Lisp), which is what it is. The "Flavoured" in the name comes from that I had earlier implemented a Lisp machines flavors system on another lisp, with an english spelling thrown in as a joke.

<comment><USER5> Oh, wow -- that's a great tidbit! I hadn't heard that before, Robert (one for the LFE Lore files ...)

</comment></comment></comment></comment><comment><USER6> I really like the idea of both Joxa and LFE (a Lisp on the Erlang VM!), but the main factor keeping me from using them for general purpose programming is the lack of "modern" collections. I would love to see them implement persistent data structures à la Clojure, with a unified interface for vectors, sets, etc. I know the Joxa stance is "make a good macro system and let users implement these" but as a (new) user, the task looks too intimidating.

The Elixir approach looks great, but it's unfortunately not a Lisp.

<comment><USER7> Indeed, it would be nice to have an EFL: Elixir Flavoured Lisp. (Lazy) Streams and clojure'ish protocols (lispy virtual methods) makes a big difference in abstraction. Erlang as it is, supports ADTs but not object abstraction (i.e. different kinds of set implementations with different implementation/representation) See [http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf](http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf) for discussion.

</comment></comment><comment> dj-wonk > Joxa is a small semantically clean, functional lisp.

What does "semantically clean" mean?

<comment><USER8> I read that to mean that the semantics don't have edge or ad-hoc cases.

<comment><USER3> Thats exactly what it means. Its has a very simple syntax that is a nice mix of the semantics of Core Erlang laid on very straightforward and minimal lisp. The goal was to build up more semantically complex structures in the language itself. In effect, Joxa is designed as a platform for language design more then a language in and of itself. Now I just need to find the time to get back to it.

<comment><USER4> If you replace "Joxa" with "LFE" here you would get a good description of LFE.

</comment></comment></comment></comment><comment><USER9> Is the link in the top-right broken? [http://i.imgur.com/U08DB9p.png](http://i.imgur.com/U08DB9p.png)</comment>


Tell HN : Today's the deadline for applying to Y Combinator - <AUTHOR>

Do click that submit button. <comment><USER2> If the front page story yesterday is anything to by, wait a couple more hours.

</comment><comment><USER3> Applied yesterday. I have a feeling that was a big day for submissions. Hope they get past our video. It was pretty ridiculous.

</comment><comment><USER4> I'm thinking of making a business to deploy ubiquitous services with the help of collaborative wiki-tagging products. Or maybe generate Facebook-driven architectures using leading-edge ROI. Or maybe deploy frictionless services accurately via venture-backed cloud-funded models.

Do you think YC will like these ideas? ;)

<comment><USER5> My brain just shifted paradigms without a clutch.

</comment></comment><comment><USER6> Applied about 2 weeks ago. Hoping the early application gave us some type of advantage ;) Good luck to all who applied!

</comment><comment><AUTHOR> any guess on number of applicants this years ?

<comment><USER7> I'm sure there are hundreds, but I really want to know how many are serious and what their motivations are.

I applied this cycle because I need to be somewhere where big ideas + execution are considered the norm rather than where I am now, where web apps seem like a thing to put on your resume to get work at a bland company writing Crystal Reports on business development ROI.

<comment><USER8> sounds like you should just move to the valley irrespective of yc.

<comment><USER9> Think I could find that in say... Seattle? Who should I talk to then?

I'm not ready to pick up and move to the Valley. Yet.

<comment><USER10> Amazon and Microsoft are headquartered near Seattle, and other well-known companies (eg Google) have offices in the area. Plus I am sure there are lots of smaller companies around.

</comment></comment></comment></comment></comment><comment><USER11> Just submitted ours yesterday too...pretty pumped to hear more. Thanks for what you do!

</comment><comment><USER12> We applied yesterday and we are so excited! Go YCombinator!

<comment><USER13> how do you save your current application? After I edit and submit, there is no link to save a local copy of the application.

<comment><USER14> Just use your browser. File --> Save Page.</comment></comment></comment>


Ask HN: Safety Critical infrastructure on the Internet - <AUTHOR> I've been following the Protecting Cyberspace as a National Asset Act of 2010 and while I understand that the "President pulls the plug on the internet" stories are a little exaggerated, it got me thinking about what truly important systems rely on the internet.
Easy ones that come to mind are: Email communication Phoneline back hauls Stock market electronic trades Cost aware thermostats (imagine they all loose connectivity, default to max usage and bring the power grid down)
What other safety critical infrastructures rely on the internet? <comment><USER2> Military links between systems usually traverse the network over Internet (albeit in an encrypted manner, such as with a VPN).

Energy firms link sites together via site to site VPNs on the Internet. I wouldn't be surprised if remote support for SCADA networks weren't linked in a similar manner, which would at least make for an interesting fluff article on zdnet.

It's a bit like Madagascar in Pandemic 2. What are they going to do? Shut it all (or rather sections of it) down? Then what?</comment>


Introduction to Nintendo 64 Programming (1999) - <AUTHOR> http://n64.icequake.net/doc/n64intro/kantan/step2/index1.html <comment><USER2> > The N64 operating system supports some but not all of functionality of the > malloc() and free() standard C library functions. All their functionality > will be supported in the future.

Did that ever happen?

</comment><comment><USER3> Related: there is a fantastic, oft-reposted, and quite in-depth article about the difficulties faced by developers porting 'Resident Evil 2' to the N64 - the primary challenge being fitting it within the 64MByte limitation, as compared to the Playstation's 700MB CD.

A fantastic and critical read to anyone interested in this sort of thing: [https://www.gamasutra.com/view/feature/131556/postmortem_ang...](https://www.gamasutra.com/view/feature/131556/postmortem_angel_studios_.php)

<comment><USER4> That was a bit of a disappointing read. I was expecting some technical details but it was mostly just about how they managed the project.

<comment><USER5> This was the article I thought the gp was linking to, some detail about the video decoder: [https://web.archive.org/web/20080331015735/http://www.gamasu...](https://web.archive.org/web/20080331015735/http://www.gamasutra.com/features/20001004/meynink_01.htm)

</comment></comment></comment><comment><USER3> '[The 64DD's] total disk capacity is 64MBytes, enabling the creation of huge games not possible with just a ROM cartridge.'

Huge games!

<comment><USER6> Mario 64 is a bigger game than most I've played in recent memory...

<comment><USER7> How are you defining "big"?

Mario 64 was impressive for its time, but the worlds are pretty darn small by modern standards.

The game also uses multiple mission objectives (and a requirement that you return to the start of the map after each mission) to pad out the length.

<comment><USER8> I just saw a girlfriend review of Zelda Ocarina of time (another N64 game).

She was amazed by how many things are packed into this game and how each room or character feels way more unique than the last assassin creed game.

I would not say that all modern games suffer from this but I have come to deeply appreciate games that did the best with the limitation imposed by them by their tech.

In addition to N64 games, I have always been impressed by how Grim Fandango took a low poly graphical engine and turned it into an amazing art style.

Especially when I compare it to so many AAA games with huge budgets and a brown "photorealist" approach as interesting as a wet carrot and that look extremely dated 3 years later.

<comment><USER9> That's interesting because I thought I was alone. I've been playing Assassins Creed Origins for a while and my general feeling is there's a TON of content but none of it is important. There will be a city in the desert and maybe one mission, and a bunch of very samey houses? It's certainly realistic, but the real world is so boring.

In older Assassins Creed games you could tell loving thought went into how you would traverse things, climbing things took a lot more skill and there were secrets to find.

The newer ones the other hand have just tons of bland, and climbing is basically automatic, just push forward. It's kind of sad to see one of my favorite series become so dull.

<comment><USER8> To be fair I have played to the new one for less than an hour.

I could play it for free during the stadia demo. If I had played for more than one hour, I would have been able to keep the game. The tech itself is amazing, but after skipping 2 or 3 asscreeds games, I was very surprised to see health bars.

The series always had a bad tendency to pad its length by relying to the endowed progress effect with lots of copy paste content like "collect the 100 feathers".

The health bars and levels already made the first fights boring, not to mention that I don't think they have anything to do in a stealth action game. They just sound like another way to pad the game length.

If the platforming also got worse ? damn, I don't regret letting this franchise go.

<comment><USER9> It starts off pretty strong but it gets to the point where there will be a giant city and 1 or 2 missions in the entire city. It makes the scenery feel like set dressing rather than a place designed to be played with.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> > The N64 operating system supports some but not all of functionality of the > malloc() and free() standard C library functions.

What does this even mean? Each of those does pretty much "has one job"; does malloc give you memory and free only reclaim half of it or something?

> Even though a typical C program can rely on the system to handle > initializations

Uh, not if this is an automatic variable…

<comment><USER11> Maybe it's one of those non-standard free() functions that crashes if you give it a null pointer. A developer I once worked with said that he had gotten into the habit of "if(p) free(p);" because he'd work with such a system before.

(In case anyone is wondering: I can't think of a single commonly-used standard C library that doesn't accept null pointers to free(), i.e. the nullcheck is in the free() itself. Embedded systems, however, may vary widely in how closely they follow the standard.)

<comment><USER10> I downloaded some thing that purports to be the "Nintendo 64 SDK" and it says that its implementation of malloc cannot be accessed safely by multiple threads (there's an alternative function that does guarantee this). I think this might be it? (FYI: the free function does check for NULL.)

</comment></comment></comment><comment><USER12> The owner of this channel [https://www.youtube.com/user/KazeBG0](https://www.youtube.com/user/KazeBG0) makes great fan games for N64, regularly adding in additional behavior not found in the parent games - e.g. adding new super powers to Mario 64. Pretty impressive stuff.

<comment><USER13> Most of the videos are blocked by copyright :(

<comment><USER14> Nintendo has unfortunately not been kind, but I can confirm that Kaze is a legend at what he does.

</comment></comment></comment><comment><USER15> Here I am. Aligning DIV's. And then people do this. Awesome.

<comment><USER16> Hey man, I started my career 7 years ago by teaching myself PHP, jQuery, and CSS. First real job was as a "full stack web developer".

I always was in awe of the low level stuff though, so I took every opportunity to move closer and closer to the hardware over the years. I'm now a firmware developer!

Point being, where there's a will there's a way. If you can align some DIVs, you can malloc() some memory and pack bytes efficiently in a struct :) It all comes down to where your interest is.

<comment><USER17> What has the low level stuff allowed you to do?

<comment><USER16> Sorry for the delayed response.

It has allowed me to work on some very cool robotics, and IoT projects. I've been able to learn a ton in the process about how computers work. Things like having to learn about how our FreeRTOS scheduler works, have been a fun process and provide some insight (albeit not 1:1) on how larger scale OS's work.

I feel like it's also made me a better programmer on the higher level stuff too. Hard to explain why though. It's not the kind of thing that makes obvious sense. It's not like knowing how to efficiently pack bytes into a struct, somehow helps you be a better Scala or iOS developer. That's just not the case. Rather, there's something about knowing the low-level stuff that just eases my mind when it comes to writing higher level code. I've always been the type of person that gets distracted by needing to know the deeper layer of how something works.

Even in undergraduate classes like biology, I needed to know HOW that mitochondria ACTUALLY handles metabolism. That's what I mean when I say that the lower level stuff "eases my mind". I can call a higher level function, or use some higher level framework, with a clear understanding of how it could (and probably) is implemented. That makes me a better developer, because I can stop asking questions and start making things.

</comment></comment></comment></comment><comment><USER3> Absolutely awesome. I have a serious thing for programming on old consoles, specifically the Sega Saturn, and this is a very fascinating manual.

</comment><comment><USER18> Is this everything, or just a primer that comes with reams of additional documentation?

I think I remember reading that game programmers developing for new (or not yet released) consoles of bygone eras had to contend with sparse documentation, shifting specs, and inadequate access to real hardware... It would be wonderful if someone with experience or knowledge from this era could elaborate on what it was like getting a black box in the mail and trying to stand up some working code.

I'm imagining lots code written by trial and error under intense time pressure, that nobody on the team really understands and that nobody wants to touch. I'm a sucker for this kind of folklore of ancient programming heroism. :)

</comment><comment><USER19> Is there a public N64 compiler? Might be a fun project to make an N64 game

<comment><USER20> I made a n64 Rust env that's open source that's albeit a bit raw but was enough to be able to build ROMs of PowerPoint-esque slides of talk of a post mortem getting to that point.

[https://github.com/monocasa/sides-bsw19](https://github.com/monocasa/sides- bsw19)

If you want to use some of the same stuff hit me up on GitHub.

<comment><USER21> Is there a video recording of your talk available online?

<comment><USER20> Nah, I don't think there was. Sorry.

Edit: the general thesis was that while we as embedded fairly treat new languages in the embedded space with skepticism, Rust is a legitimate entry. It's not GCed (in the traditional sense) has similar perf and (more importantly) determinism. And by the very nature that the slides are on an N64, it's remarkably possible to support off the beaten path boards.

</comment></comment></comment></comment><comment><USER22> So they have multiple 'threads', but those threads work sequentially? Why do they even design like this in the first place? Doesn't have any benefits right?

<comment><USER23> The description of the scheduler[1] explains why:

"The RSP executes both graphics and audio processes. A graphics process sometimes extends over one frame, but an audio process must be provided in each frame to prevent inappropriate pausing. Therefore, in each frame, if the graphics task is executing, the Scheduler suspends it and saves the task state. Then it starts the audio task executing and prepares the RSP for the restart of the graphics task execution when the audio task finishes."

[1] [http://n64.icequake.net/doc/n64intro/kantan/step2/1-7.html](http://n64.icequake.net/doc/n64intro/kantan/step2/1-7.html)

<comment><USER22> Thanks.

I think the thread here, really means it is a conceptually independent 'processing unit' on its own, which reads the global state of some sort, then make the modification to it. They have multiple such 'threads', each corresponding to some particular task, but with no explicit locks.

Now it makes more sense to me. Threads here are more logical isolation of functionalities, not really parallel execution workers.

I was automatically associating threading with parallelism, but this makes sense for 'concurrency' even if there is only one of them are working at the time.

</comment></comment></comment><comment><USER24> The diagram showing running processes within threads reminds me of MIPS pipeline, which I know the n64 CPU wasm I've seen this article before and I didn't notice the copyright Nintendo. Was this apart of the official Nintendo api provided to developers?

<comment><USER3> I'm not sure about officially, but if you're interested in this type of thing, you should certainly check out this 'N64 Bare Metal Mips Assembly Programming' project on GitHub:

[https://github.com/PeterLemon/N64](https://github.com/PeterLemon/N64)

</comment></comment><comment><USER25> The graphics component looks so similar to OpenGL!

<comment><USER26> It should given the N64's relationship to Silicon Graphics</comment></comment>


Ask HN: Relation Coffee VS Sleep - <AUTHOR>

I'm curious to know more about the quantity of coffee versus the sleep quality you have. Feel free to share tricks you have to sleep better or ways to handle the stress/coffee versus more sleep situation.  Thanks <comment><USER2> Anecdotally: I feel like small amounts of caffeine after about 3pm destroy my sleep.

I practice "sleep hygiene" (UK NHS websites have a lot about this) and if that fails I get a short prescription for one of the Z drugs, usually 7 days of zopiclone, to 'kick' my sleep back into a pattern.

There are considerable problems with use of melatonin: It's not regulated in the US which means you will find it hard to accurately dose and the research suggests it's pretty lousy, unless you have jet lag. I'm in the UK, and melatonin is a prescription only medication, and GPs will usually not prescribe it for sleep disorders.

[http://summaries.cochrane.org/CD001520/melatonin-for-the- pre...](http://summaries.cochrane.org/CD001520/melatonin-for-the-prevention- and-treatment-of-jet-lag)

<http://www.ncbi.nlm.nih.gov/pmc/articles/PMC1370957/>

<http://www.ahrq.gov/clinic/epcsums/melatsum.htm>

</comment><comment><USER3> the half-life of caffeine is about 5hrs and there's around 260mg in a 12oz coffee. you'd probably want to stop drinking after the first few hours of your day so it's mostly out of your system by the time you go to sleep.

<comment><USER4> Interesting. Do you happen to know why caffeine withdrawal symptoms tend to kick in after (for me) about 36 hours?

</comment></comment><comment><USER5> My trick: run everyday and limit chai to two mugs a day.

</comment><comment><USER6> Coffee in proximity of sleep-time will keep me up all night because I have a messed up circadian rhythm as it is (28 hours).

I usually "downgrade" to tea later in the day and maintain a consistent melatonin regimen. Melatonin is well-attested in its ability to improve sleep quality:

<http://www.ahrq.gov/clinic/epcsums/melatsum.htm>

I wouldn't count on the efficacy of melatonin unless you are sleeping 6-8 hours a night and are otherwise healthy and devoid of a sleep disorder.

People like to mention vitamin D, but taking it as a supplement is correlated with worse sleep, not better. As a counter-suggestion to vitamin D supplementation I would avoid artificial light exposure (use Flux if possible) after sunset as well. (This has been shown to produce delayed onset sleep patterns.)

That's the only real factual data I have for this, I would avoid relying on anecdote.

This was not medical advice, just a citation of facts.

<comment><USER7> Avoid artificial light exposure after sunset? Where I live, the sun sets at 5PM in the winter.

<comment><USER6> Specifying artificial because that's your primary source of light in promixity of bedtime.</comment></comment></comment>


Sites with a /now page - <AUTHOR> http://nownownow.com <comment><USER2> What's the significance of this? I see a definite pattern in the examples provided. Is this a silly new web trend that I'm supposed to be looking down my nose at? Should I be adding a /now page to my site?

Edit:

It's actually explained here (this might be a better link actually):

[http://nownownow.com/about](http://nownownow.com/about)

I saw that link but originally thought this was a similar page that aggregated /about content from sites but I guess that would be [http://aboutaboutabout.com/](http://aboutaboutabout.com/).

<comment><USER3> Thanks for sharing the /about link.

nownownow.com features quick profiles of those with /now pages. It allows for a glimpse into the perspective of an individual with a few questions.

Browsing profiles can be nice way to read other's epiphanies. These thoughts may resonate with you and help drive forward what you're working on and potentially help get to the 'why' of what you're doing.

It's an important distinction to be made in regards to goals. 'Now' pages are less about goals and more about what is currently being created or focused on. Maybe an individual is working on a similar problem and you can help one another?

</comment></comment><comment><USER4> Today I learned that there are tens of thousands of people all who "help people realize their value and potential...."

<comment><USER5> This site would make an _amazing_ data seed you could use to create a "bullshit tech bio" generator.

</comment></comment><comment><USER5> [http://nownownow.com/now](http://nownownow.com/now)

Heh. I had to check.

<comment><USER3> :)

</comment></comment><comment><USER6> This seems to have started by Derek Sivers:

[https://sivers.org/nowff](https://sivers.org/nowff)

<comment><USER7> Indeed: [https://github.com/50pop/nownownow.com](https://github.com/50pop/nownownow.com)

</comment></comment><comment><USER8> This page might be my new first choice when I demo my googly eye Chrome extension (Googlifier - [https://chrome.google.com/webstore/detail/googlifier/lblbdli...](https://chrome.google.com/webstore/detail/googlifier/lblbdlideidphhfofbpocigbkkhingfg)).

<comment><USER9> This just made me giggle out loud. Please accept this voucher, good for one internets.

</comment></comment><comment><USER10> Kind of midway between a Facebook/Instagram and Linkedin profile. Social media is notoriously ephemeral and throwaway, while a resume is too weighty.

<comment><USER3> That's a great perspective on this project.

</comment></comment><comment><USER11> What's old is new again [https://en.wikipedia.org/w/index.php?title=Plan_file](https://en.wikipedia.org/w/index.php?title=Plan_file)

<comment><USER3> Nice reference, thanks for sharing.

</comment></comment><comment><USER12> Reminds me of the very early days of the web when people would post htplans, hypertext versions of their .plan files.

</comment><comment><USER13> Seems like a replacement for the old finger command.

Used to love hitting up:

finger firstname.lastname@example.com

<comment><USER14> I've been planning for a while to make some finger business cards for myself.

</comment></comment><comment><USER15> So it's a HTTP version of finger / .plan?

<comment><USER16> Well, HTTP is the new TCP so I guess it had to be done eventually.

<comment><USER17> Ow, if that's true then we're all doomed. ;-)

</comment></comment></comment><comment><USER18> Great, somebody finally re-invented finger and .plan, I guess.

</comment><comment><USER19> I see this as a directory of self-centered egotistical people who feel like they're important and want to flaunt themselves. It gives me an icky feeling and I wouldn't want myself listed there. Is this website normal and I'm wrong for feeling this way?

Some of the personal slogan things for example, sound like meaningless thoughts of a narcissist:

"I create things to discover."

"I have ideas, then I make them real."

"I listen people, then I write about them."

"I notice things and try to make them better."

"I do interesting things to make sure I have interesting tales to tell."

"I help make the world a more sensible, purposeful, and meaningful place."

"I ask 'Why not?' and then write words or code to bring ideas into the real world."

What does any of that mean? Why are they posting their picture like that. Why should I care what they're doing right now?

Please tell me why this isn't just egomania.

<comment><USER20> The one positive I see in publicly showing what you're currently working on is the very starting point of accountability.

Like telling your friends that you're training for a marathon. It adds some pressure to finish things.

Beyond this, personally, I wouldn't see why I would do it.

* I'm talking about adding a /now page. The author Derek Sivers is likely listing people to encourage the movement. I see someone in my field who is doing cool thing, I'd like to do cool things, let's put my money where my mouth is and "get out there."

<comment><USER21> There must be some distinction since Sivers says announcing your goals makes you less likely to accomplish them.

<comment><USER20> He talks about it with Tim Ferriss in his podcast. That might add to the understanding.

That's all I got as to guessing why.

</comment></comment></comment></comment><comment><USER22> 2 days ago: [https://news.ycombinator.com/item?id=10830925](https://news.ycombinator.com/item?id=10830925)

<comment><AUTHOR> I posted quick after spotting the project on Twitter, then did a search and noticed it'd already been posted a couple times. Yet this thread seems to have gotten some visibility.

I figured the HN algo check for dups but I guess not.

tldr; sorry for the repost and excuse my rookie-ness.

<comment><USER3> Yeah I was surprised to see it posted again. Regardless, thanks for sharing :)</comment></comment></comment>


New Yahoo CEO's Open Letter to Fans, Analysts, and Employees - <AUTHOR> http://ycorpblog.com/2009/02/26/getting-our-house-in-order/

<comment><USER2> I'm kind of surprised that the comments here are so positive. What does this letter really say?

 _So today I'm rolling out a new management structure_

OK, what is it?

 _the notorious silos are gone_

To be replaced by....

 _I'm creating a new Customer Advocacy group ... Our Customer Care team does an incredible job with the amazing number of people who come to them, but they need better resources. So we're investing in that. After all, you deserve the very best._

(Yawn.)

Maybe I don't know enough about Yahoo to understand this post's significance. But it strikes me as a generic, "there's a new sheriff in town" kind of post, meant to rally the troops... meh.

<comment><USER3> What's wrong with having a positive attitude? Cynicism is so . . . uber-lame.

<comment><USER2> Perhaps the yawn & meh were not necessary.

But I do not see anything substantive in the letter.

</comment></comment></comment><comment><USER3> Bartz is going to be a great CEO. I admire and respect the woman immensely! Sometimes what a company or an organization needs is simply a great leader -- somebody who can inspire the worker bees to do what worker bees do best.

<comment><USER4> I'm legitimately impressed - she's really between a rock and a hard place with how she communicates. Yahoo needs a "regime change" feel to it, and Yang was always very informal, no punctuation, etc. So she's got to be different - but, Yahoo can't weather bureaucracy, formality, nonsense right now. I think she's being different and professional while casual at the same time. That's got to be a hard line to walk. Feeling better for Yahoo's prospects for the future than at any time since I ditched Yahoo mail a couple years ago for Gmail.

</comment></comment><comment><USER5> Would not have expected that kind of tone from a Fortune 500 CEO addressing the public, but it certainly made me think "she's going to be good for Yahoo!"

</comment><comment><USER6> I had recently written off Yahoo as dead. Today, I hardly use any of their products at all, except Flickr.

My Yahoo Mail is the old outdated version because their updated version seemed more designed to deliver ads than user experience and all it does is deliver spam.

Calendar, briefcase, mail, search, news, finance - I now do all of these on Google where the technology is faster and cleaner. Innovation appears to have died at Yahoo.

That said, her comments here made me rethink my writing them off. Semel and Yang really did a number on this company. Semel was a looter who never wanted to get his hands dirty with operations and Yang's head is in the clouds.

This letter is a good start, let's hope Yang has the wisdom and humility to not get in the way. I believe he's still on the board.

</comment><comment><USER7> I'm curious of the specifics of the "new management system"

</comment><comment><USER8> The advantage to her its that probably Yahoo was the worst driven company of the last decade, it was like having a Ferrari and drive it at 10 mph

They need to humble down and understand they are just a brokerage ad firm for the internet, billons of dollars worth do.

</comment><comment><USER9> They should start by offering IMAP to all the paying customers of Yahoo Mail. It's amazing that they can do this for iPhone, but not for desktop especially for customers who are paying for this service. Google gives us all this for free.

</comment><comment><USER10> It's so refreshing to see a CEO of a large organization avoid the professional correctness nonsense that plagues big companies.

Even if she fails, at least (so far) she's been straightforward about everything Yahoo is doing.

</comment><comment><USER11> i can understand her optimism, but how are they going to take market share away from google?

according to google finance, google has about 20k employees bringing in 5.7B each quarter, and yahoo has about 14k employees bringing in 1.8B/quarter.

i think the yahoo plan is to get microsoft to buy the search platform and then make a advertising deal with google. this will not only get yahoo more money than they are worth now, but it will also make regulatory agencies happy.

<comment><USER12> "i can understand her optimism, but how are they going to take market share away from google?"

That's what everyone said about Apple before Jobs came back too. It's amazing how an energized, focused leader with an "outside" perspective can make a world of difference. Look at Apple now.

</comment></comment><comment><USER13> She's off to a great start. Let's hope it keeps.

</comment><comment><USER14> Too many words about nothing!</comment>


Adobe still can't create a 64-bit Flash Player - <AUTHOR> http://kb.adobe.com/selfservice/viewContent.do?externalId=6b3af6c9

<comment><USER2> On the other hand, their two-bit flash player is quite widely distributed.

</comment><comment><USER3> To me, that indicates a dependency problem. Specifically, a dependency isn't available yet for 64 bit.

<comment> mark-t I would guess it's because of the JIT compiler to generate machine code (see the Tamarin project in firefox). Writing a compiler for many different platforms requires a significant amount of work. I can understand that they'd want to work on other platforms before the 64 bit processors, since those can still use the 32 bit version.</comment></comment>


What Declarative Languages Are (2013) - <AUTHOR> https://semantic-domain.blogspot.com/2013/07/what-declarative-languages-are.html <comment><USER2> > In particular, note the appearance of an existential quantifier in the > premises of the sequential composition and Kleene star cases, and note the > nondeterministic choice of a branch in the alternation case. So read as a > logic program, this semantics is not well-moded.

Is this saying that you cannot mechanically convert a "declarative language" into a program? Or is it saying it may allow multiple choices? If so, how is it not included in the Curry-Howard correspondence?

</comment><comment><USER3> The latex isn't rendering for me. Pasting it into [https://math.stackexchange.com/questions/ask](https://math.stackexchange.com/questions/ask) is one online solution.

In the example, membership in a language already implies existence, doesn't it? So why is the (crucial) existential quantifier needed?

What does "moded" mean (as in "well-moded")?

<comment><USER4> I do enjoy 'simple explanations' that depend on you having a masters degree to understand.

[https://www.w3.org/People/Massimo/papers/fpca95.pdf](https://www.w3.org/People/Massimo/papers/fpca95.pdf)

Explained in that paper. I don't think I'm qualified to give a tl;dr;

<comment><USER3> From abstract of an earlier paper co-authored by Reddy

> A mode of a predicate designates some of its parameters to be input and the > others to be output. ... indefinite modes... in which a resolution > interpreter yields answers with free variables. > [https://www.tib.eu/en/search/id/tema- > archive%3ATEMAE84100273...](https://www.tib.eu/en/search/id/tema- > archive%3ATEMAE84100273082/Transformation-of-logic-programs-into- > functional/)

Sounds like well-moded means: for given inputs, you get a definite answer, rather than something to be further computed around (like high school algebra with more than one unknown). Fits the context here.

</comment></comment></comment><comment><USER5> What is a trivial existential quantifier and what property identifies them?

<comment><USER4> I'm not sure what a trivial existential quantifier is, but an existential quantifier is the statement 'there exists', usually written ∃.

<comment><USER5> The 'for all' statement is also an existential quantifier, as is the 'this one value' statement implicit on the imperative statements.

The entire meat of the article depends on this concept of "non-trivial" quantifier.

<comment><USER6> From the comments, it seems likely that the author doesn't have a precise definition of non-trivial. But the framework still feels potentially useful as a way to precisely parameterize disagreements about whether or not a given semantics is declarative.

That said, I'm also having some trouble with the concept. Take for example the rule: there exists x such that succ(x) = y ⊢ dec(y) = x. If we're used to operational semantics which include pattern matching, this feels trivial. But otherwise we have to be clever to avoid exhaustive search.

I'm a bit out of my depth here, but it sort-of feels like 'non-trivial' here means 'I can't immediately/uniquely produce a corresponding well-moded operational semantics'. Whether this lends any clarity might be a matter of taste...</comment></comment></comment></comment>


Ask HN: Best read-it-later solutions for Android/Chrome? - <AUTHOR>

I'm using Android and Chrome.
I need an app for Android and an extension for Chrome to easily save and organize links for later reading. No need for offline downloading, pdf saving, or other fancy features.<p>I used Pocket a couple of years ago. What would be the best solution these days? <comment><USER2> I use Pocket.

You can try Everynotes, but it has too many features for me.

I've tried many of them and Pocket seems to be the best, specially because of its wide support. It also focuses on reading without trying to push 1000 useless features on you.

If you use RSS feeds, Feedly is a very good reader IMHO and it also has a 'read later' feature.</comment>


Stanford releases "BitStarter Leaderboard" - Bitcoin powered crowdfunder - <AUTHOR> https://github.com/startup-class/bitstarter-leaderboard

<comment><AUTHOR> This repository is related to the final project of Stanford's _Startup Engineering_ class held on Coursera[1]. The course is over today and two days ago the repository has been published.

BitStarter Leaderboard is built on MEAN stack (Mongo - Express - Angular - Node) and is a great source for analysis and learning about each of those technologies + seeing how completed project should look like.

[1] [https://class.coursera.org/startup-001/class](https://class.coursera.org/startup-001/class)</comment>