Most lucrative college degrees (Math is key) - <AUTHOR> http://money.cnn.com/2009/07/24/news/economy/highest_starting_salaries/index.htm?postversion=2009072404

<comment><USER2> This is a good article... but it seems incomplete without mentioning the possibility of a graduate degree. After all, and english major with a 3.9 gpa and a 99% lsat might not be in a position to make much money _now_ , but in three years he or she might very well be a lawyer earning twice what his library-dwelling engineering major roomate is earning.

Of course, engineering majors who go on to get law degrees are probably in even greater demand, as they still have a scare skill/knowledge base... Do problem sets on properties of materials prepare you for law exams as well as a semester spent trying to make sense of Ulysses? Actually, hard to say.

I don't know many humanities or social science majors who just plan to stop there. We need to track a bit further, especially if we're trying to gauge the prospects of the "best and brightest..."

</comment><comment><USER3> It's interesting to me that petroleum engineering and mining engineering have rocketed to the top. For as long as I can remember I don't think they were even in the top 10. Think it's a sustainable trend? Also, as a Computer Science student, let me say that it's always nice to see the average starting salary for my field go up. Mo' money, mo' ramen, as they say.

</comment><comment><USER4> I read a cool story about somebody using Lisp to parse massive text output from a geological sounding device used by the oil explorers.

How does one go about finding one of these jobs?</comment>


Call Me Skeptical: Dan Lyons on the gPhone - <AUTHOR> http://www.newsweek.com/id/160544

<comment><USER2> Keeping in mind that there will be more Android phones...I wonder what the general consensus about today's events....is the problem more with the hardware or more with the software?

</comment><comment><USER3> This article is pretty disappointing. He seems to just dig for reasons to bash the gPhone and glorify the iPhone, without making any serious comparisons.</comment>


Sort compressed tar archives to make them smaller - <AUTHOR> https://nctritech.wordpress.com/2010/11/27/sort-compressed-tar-archives-to-make-them-smaller-20-percent-smaller/ <comment><USER2> > If this were 70.5GB instead of 705MB and the data exhibited identical > performance, the final archive would be 4.1GB smaller

I don't think the savings for a file 10x as large can be extrapolated. This likely wouldn't work as the (default) window size for XZ would be too small; the similarities would be too sparse. To get the same benefits you'd need to use at least 10x as much memory by increasing the window size.</comment>


Paul Graham: don't hire anyone with children - <AUTHOR> https://philip.greenspun.com/blog/2019/12/23/paul-graham-dont-hire-anyone-with-children/ <comment><USER2> > if you're an employer and want to hire someone ambitious and productive > whose first priority is the company's project

Sounds like you're searching for a rube above all else.

Someone dumb enough to sacrifice their personal life to your "vision" to this extent will probably exhibit poor judgement in other aspects of your business.

Just hire someone reasonable, with or without kids. If they start pulling away from your project, maybe take that as information that you're not handling the rudder quite right.

<comment><USER3> >Someone dumb enough to sacrifice their personal life to your "vision" to this extent will probably exhibit poor judgement in other aspects of your business.

Honestly, a lot of us programmers don't really have lives outside of work and enjoy what we do. Maybe that advantage inspires snark in those for whom work is not a 1# priority.

<comment><USER2> If that's the case then unless you own a significant part of the company you should either be starting your own company, learning something perpendicular to your day job, or you know, engaging in leisure.

Don't be a rube.

<comment><USER4> 100%. Making your life your work isn't necessarily bad, if you've come to that decision of your own free will and after careful consideration of the alternatives, but making your life a faceless cog in a bureaucracy is a life unlived. It only makes sense to treat work that way if you're a co-founder or co-owner.

</comment></comment></comment></comment><comment><USER5> That article title disgracefully misrepresents what Paul Graham has written in the text quoted. Paul Graham described his own experience of how having children affected his priorities. In the material quoted he never advocated anything regarding hiring.

Philip Greenspun may have been inspired by Paul's article to come to his own epiphany regarding hiring, but that is exactly what it is - Philip Greenspun's opinion.

I don't know Paul Graham's personal and financial situation, but my impression is that he is someone who has the luxury of reprioritising "work" without major personal consequences.

I would suggest that for most "average" people life changes like getting married, buying property, and having children make people more attentive to work responsibilities because they literally can no longer afford to get fired.

Edited - fixed some grammar.

<comment><USER6> Subtext and shadows. PG essays are aimed directly at founders.

<comment><USER7> Says who? His essays seem to me to be aimed at whoever wants to read them.

<comment><USER8> Well, to the rest of us, they seem aimed at founders. In fact most of them talk specifically about entrepreneurialism and founder issues.

Not to mention his actual job.

<comment><USER7> The rest of us? You've surveyed?

</comment></comment></comment></comment></comment><comment><USER9> This isn't a great conclusion from Graham's post. If you're really trying to make this connection, then employers are incentivized to hire people with children since you can more accurately gauge their aspirations, work habits, performance during an interview after they've already had the child-having transformation. On the other hand, a childless interviewee may change drastically after having children.

In the end, I like Paul Graham's introspection but assuming employers would see this as some kind of direction to prefer childless candidates over childbearing ones is far fetched

</comment><comment><USER10> In my case, it was the opposite. I was prepared to retire at 35. Having a kid changed perspective completely in the direction of being more ambitious.

</comment><comment><USER11> Is the willingness to make work the most important thing in one's life really this important?

</comment><comment><USER12> That may be illegal, depending on where your company operates.

<comment><USER13> I was super kicked back and mellow until I got a kid. Then I kicked worklife into high gear because I had a little mouth to feed and clothe. Kid got older, moved out, got married and I kicked back into mellow man.

Now we have a grandbaby in our lives and I'm back at work being more motivated to be more efficient and productive than ever so I can have the time to spend with her.

Sort of exactly the opposite of the article.

<comment><USER14> Yes, pg succumbs to the anecdotal fallacy with his conclusion here. He is filthy rich. When someone who's filthy rich has kids, I'd expect a bimodal outcome: outsource child raising entirely and keep on working hard (lousy father scenario) or take it relatively easy to spend time with the kids.

When someone has kids who is not filthy rich (ie most people), I think the outcome has more variance. Some will have a hard time adjusting, some will decide that money and work aren't very important, and some will become more ambitious in order to provide for the family. Also, the outcome can change over time. The shock to the system of the early years can be replaced by naked ambition as the kids get older and college looms. Etc. One thing I enjoy about working with people with kids is that they generally seem more discerning about what to spend time on at work, and they have a good sense of rudimentary people management skills.

</comment></comment></comment><comment><USER15> I recall when I was in my 20's, unmarried with no kids, how resentful I felt toward all of the older folks with kids. I worked a lot longer and harder than they could, and I was more focused on my work. I was satisfied with my salary, but (at the time) my company provided full medical and dental insurance for the entire family of an employee. I viewed this as a form of unfair discrimination because they were effectively earning more money (in the context of the value of their benefits) just because they had a family.

Of course once I got married and had kids, my selfish self-interest prevailed and I no longer cared about whether or not it was unfair.

Companies like Space-X and Google thrive on exploiting young single people, but on average, they can only get away with it for a decade or less (until the employee gets married).

<comment><USER16> If only as young people we could recognize how important it is for society as a whole that people continue to become parents... then we might not resent the unfairness.

</comment></comment><comment><USER17> > _In other words, if you're an employer and want to hire someone ambitious > and productive whose first priority is the company's project… recruit from > among the childless and, for long-term employer-employee happiness, the > infertile._

Why do you think so many startups still headquarter in SF even though there's much better (and cheaper) places? by virtue of the cost of living alone you're going to end up with a much younger work force.

Personally, I don't mind that someone who wants unwavering and unquestionable commitment to the company (slavery) passes up on me.

</comment><comment><USER18> Ironically, the assumption that people with kids are less ambitious may be false. Some anecdotes:

1\. Long ago, the newspaper reported about a study of single unskilled women in south Chicago, where it turned out that the women with kids tended to work more hours for higher wages, and often commuted further to their jobs.

2\. Another study, reporting that a disproportionate number of people change jobs in pursuit of higher pay after the birth of their first child. I was one of those people, and I know a lot of other people who did the same.

3\. Completely anecdotal and informal survey of colleagues, that the people who went into the thankless but higher paying jobs in project or middle management are exclusively parents. I've never met a project manager who was single.

All of this is with the usual caveats about "studies" and anecdotes, but the suggestion is that economic motivation can make people more productive. Or at least, it's enough of a counter-argument to the conventional wisdom to justify reserving judgement in the absence of more robust evidence.

<comment><USER16> I'm way more productive than before I became a parent because fatherhood triggered a cascade of positive lifestyle changes and priority rearrangements.

You could argue that non-parents are better employees, _all else equal_. But all else is never equal.

Tangentially, regardless of the outcome for productivity, I would argue that a society with more parents is a better society than one with fewer.

</comment></comment><comment><USER19> Sample size one anecdote here: Having a child made me more focused, ambitious and productive at work. I had a moment of lucidity where I decided to drop all my tech related hobbies and instead split the new-found time between caring for my child and doubling down my efforts at work.

Having kids can reset your priorities to the benefit of your employer.

</comment><comment><USER20> Wow, what malarkey, what clickbait. PG says nothing about ambition at his 9-5 job, which is what a job should be. If an employer is looking for someone available around the clock, who'll work endless hours tirelessly, complaint- free... well, that's not a place I want to work at. That is, pardon the mixed metaphor, a red-flag-toxic-expectation.

I read this essay as being about personal ambition - the hours you put in above and beyond on your own projects.

</comment><comment><USER21> Does ambition matter for a non-founder?

If they were more ambitious they might always be looking for better, and bigger things.

I think companies care more if you are a mercenary or a kool-aid drinker. They want kool-aid drinkers that will give everything for the company without asking much, that's why they always go on about their mission as if it's a cult. Whether you are into that BS or not has nothing to do with if you had kids or not.

</comment><comment><USER22> Philip Greenspun is a legend in the blogging space. One of the pioneers.

But that's not what Paul Graham said or implied. For him, having kids changed him. For others, it's a different effect.

If you'd rather be at the office until 1am, 7 days per week, don't get into a relationship. Nor have kids. Luckily, very few jobs are like that. And the people working there are doing so voluntarily.

</comment><comment><USER23> This reminds me of the modern take on ancient spiritual practices. "Deities are unfalsifisble lol. Also I'm kind of depressed and find life meaningless." It feels like missing the forest for the trees. Or throwing the baby out with bath water.

</comment><comment><USER24> If the person has children works better than one without, hire the person with children. Also, don't hire the person with children if there is such an exact person without it.

</comment><comment><USER25> Yeah, keep giving advises witch break the law, PG! This, in addition to ageism, is a serious and underestimated problem, especially in technology!

</comment><comment><USER26> I want to bust out my Jump to Conclusions Mat after reading this post.

<comment><USER8> Maybe the "Draw the obvious implied takeaway" mat would suit it better?

<comment><USER26> I didn't think it was obvious.

The original author never said these life changes made him a less valuable or effective employee.

The original author wouldn't advocate against his own interests, i.e. tell other companies not to hire people like him.

The original author never made any claim about losing overall productivity, only that having a child changed his feelings on what holds priority in life.

</comment></comment></comment><comment><USER27> Good thing that somebody had children, else you'd have to learn ALL the things your employees learned to do, so you could make big bucks and bragging rights from their labor.

Hey Christmas spirits ... I think we found Ebenezer again.

</comment><comment><USER28> ...better hire those burdened with a mortgage.

</comment><comment><USER29> Paul Graham is mediocre,not worth arguing about. I think he preached then left his wife for his secretary or somwrhing.</comment>


Fast JVM launching without the hassle of persistent JVMs - <AUTHOR> https://github.com/flatland/drip

<comment><USER2> So obvious, trade-off space for time, yet I wouldn't have thought of it... I mean, I've thought about this problem, written a persistent JVM solution, and _didn't_ think of it. Memory is cheaper than my intuition realises.

I wonder how many other "obvious" solutions I'm missing like this?

 _EDIT_ for the code I tried, user time is almost 3 times faster, but real time is only around 10% better... I don't understand linux well enough to know why - anyone care to explain please? _EDIT_ Yes, drip had already run. (I picked typical times from about 10 runs each).

       $ time java...
      real	0m1.466s
      user	0m1.216s
      sys	0m0.180s

       $ time drip...
      real	0m1.378s
      user	0m0.412s
      sys	0m0.260s

BTW: For server-like workloads, an advantage of a persistent JVM is that it gets dramatically faster over repeated runs of the _same code_ , as it improves its hotspot-style adaptive optimisations.

I really like his quickstart "standalone" installation.

 _WARNING_ "drip kill" crashed my system. The kill functions are _kill_jvms_ and _kill_jvm_ (<https://github.com/flatland/drip/blob/develop/bin/drip>). I'm using an older ubuntu 10.04 LTS.

<comment><USER3> Did you do two exact same drip runs in a row? It has to hash and preload a JVM with the same classpath setup to work.

        $ time java -jar clojure-1.3.0.jar add_1_and_1.clj

        real	0m0.690s
        user	0m0.827s
        sys	0m0.030s

        $ time drip -jar clojure-1.3.0.jar add_1_and_1.clj

        real	0m0.879s
        user	0m1.020s
        sys	0m0.040s

        $ time drip -jar clojure-1.3.0.jar add_1_and_1.clj

        real	0m0.177s
        user	0m0.033s
        sys	0m0.020s

        $ time drip -jar clojure-1.3.0.jar add_1_and_1.clj

        real	0m0.176s
        user	0m0.050s
        sys	0m0.017s

</comment></comment><comment><USER4> Interesting idea (especially, hashing based on command line options, and probably also the libraries in the classpath); I should add this to Clove (<http://hovel.ca/clove> : a small persistent-jvm that I wrote for *nix, with VERY fast connection time, e.g. suitable for scripts; sorry for shameless plug).

<comment><USER5> hey, nice project! how does this relate to drip? e.g. alternative or addition?

<comment><USER4> They do slightly different things. I think each can benefit by incorporating the main idea of the other:

\- Working on multiple projects who need different JVMs running at the same time can be a hassle in clove (you have to create a service for each), so it can be fixed by doing that the same way drip does.

\- Running scripts and having a persistent JVM is still very useful, and clove (albeit I haven't cleaned up its code properly) gives a terminal into the JVM, really fast. So, drip can use the same technique (passing capabilities; a *nix feature) to let you hook into a JVM very quickly. [see the "screenshot" part at the bottom of <http://hovel.ca/clove>]

</comment></comment></comment><comment><USER6> I read his explanation but I don't have a great understanding of why a JVM would need to clean up like this. Doesn't it have a Garbage collector just for that? Why does it get slower over time? The only thing I know that gets slower over time without you doing anything special is my dad's mac os x word-only macbook pro.

</comment><comment><USER7> Hasn't anyone ported zygote over to desktop Linux/Windows? You just keep the preconfigured jvm process running and fork it indefinitely for each new process. You'd still suffer _some_ overhead depending on each application but that's just expected anyway. The jvm startup overhead isn't.

<comment><USER8> The Dalvik VM does run on x86 now...

You'd just need to convert all your .jars and that's it. I haven't heard of any other incompatibilities with standard Java.

Edit: Is there a port of Dalvik to amd64? A cursory search did not find one.

<comment><USER9> I don't know if such a port exists, but I do know that I wouldn't want one. Dalvik's performance characteristics are scary-bad and there are plenty of incompatibilities with Java libraries that do any sort of weaving or code generation (so you still can't use Groovy, Rhino, etc.).

<comment><USER8> _... and there are plenty of incompatibilities with Java libraries that do any sort of weaving or code generation ..._

Ah, good to know. I've mostly just had to bring in things like a database library, and in one case LuaJ. None of those did need to do bytecode generation.

<comment><USER9> Yeah, for that you'll be fine, but take Rhino for example - Rhino offers, through LiveConnect, the ability to create JavaScript objects, at runtime, that satisfy Java interfaces. Which is cool, and useful for a lot of stuff. But the version of Rhino you can use on Dalvik has all of the bytecode generation disabled (obviously) and as a consequence, it can't emit the necessary bytecode to create the interface-fulfilling Java wrapper to make the JS object do what you want. It's generally bogus.

Also it's really hard to express how much slower Dalvik is than HotSpot in the general case, too. It seems faster with the Android 4.2 version (by about 30%, in my highly unofficial testing) but it's still pretty agonizingly slow.

</comment></comment></comment></comment></comment><comment><USER10> time ./drip -jar /home/user/research/jruby-complete-1.6.0.RC3.jar --1.9 -e 'a=1;puts a' 1 ./drip -jar /home/user/research/jruby-complete-1.6.0.RC3.jar --1.9 -e 0.03s user 0.03s system 4% cpu 1.282 total

time java -jar /home/user/research/jruby-complete-1.6.0.RC3.jar --1.9 -e 'a=1;puts a' 1 java -jar /home/user/research/jruby-complete-1.6.0.RC3.jar --1.9 -e 3.65s user 0.12s system 183% cpu 2.056 total

Interesting!! if it runs rails effectively, this could be awesome for jruby.

<comment><AUTHOR> I wonder, have you tried `-noverify`and `-client` ? (I am not sure if `-noverify` is compatible with jruby but I seem to remember so)

</comment></comment><comment><USER11> This seems like a really clever solution. I remember trying to set up nailgun a while ago back when I was experimenting with Clojure because the startup time for running a program was so long, but I could never quite get it to work. I missed being able to run python myprog.py and getting instant feedback.

<comment><USER12> Persevere! Dynamic programming is wonderful.

I prefer swank over nailgun, even with Vim.

</comment></comment><comment><USER13> > It keeps a fresh JVM spun up in reserve with the correct classpath and other > JVM options so you can quickly connect and use it when needed

So I assume it doesn't help if you are launching JVMs very rapidly (like, scripting stuff in a tight loop). Slow JVM launching has pretty much killed languages such as Groovy for scripting for me, because once I start using them in loops things get horribly slow.

<comment><USER14> Why not move the loop to your script?

<comment><USER15> Because unix? :)

<comment><USER16> The Unix philosophy has nothing to do with this.

It's not like the stuff inside the script can't be standalone classes of the "do one thing and do it well" variety --they just don't get to be processes.

<comment><USER17> On the other hand, you may not want to reimplement sed, grep, etc in your scripting language of choice. There are times where a good "perl -e" can be very useful in a shell script.

</comment></comment></comment></comment></comment><comment><USER18> I don't know how I feel about this: [https://github.com/flatland/drip/blob/develop/src/org/flatla...](https://github.com/flatland/drip/blob/develop/src/org/flatland/drip/Main.java#L139)

</comment><comment><USER19> As a further optimization, why not memcpy an uncorrupted JVM to some backup place in memory and then when you want to 'reboot' just memcpy the image back again?

</comment><comment><USER20> My experiences with drip were very mixed (on Ubuntu 10.04), it did not make a stable, reliable impression on me. I wouldn't recommend it for professional use.

<comment><USER21> I'd be interested in what issues you've had. Did you open Github issues for them? Thanks

<comment><USER20> A github issue (#34) was opened, and you released a changed version soon after, but it remained unusable for me (in the meantime I upgraded to 12.04 and did not test drip since then).

</comment></comment></comment><comment><USER22> Does anyone know how to use with with lein?

<comment><USER23> Using lein2, you can run the following:

      $ JAVA_CMD=drip lein ...

<comment><USER24> What does this do exactly? Will it permanently change lein to use drip? Or only temporarily for whichever command replaced the "...". Also, do you know if the advice here: <https://github.com/flatland/drip/wiki/Clojure> works with lein2?

<comment><USER25> That command runs drip only for that particular invocation of the command. You can put the following:

        export JAVA_CMD=drip

into your ~/.profile (etc) file to have it affect all future Java launches from leiningen.

</comment></comment></comment></comment><comment><USER26> > The main problem is that the state of the persistent JVM gets dirty over > time, producing strange errors...

Does anyone know what kind of errors the author is referring to? Does any long running JVM instance run into these issues?

</comment><comment><USER5> Sweet! I immediately updated runner script for Scala and Groovy to use it!

EDIT: Hmm, I encountered this: "Could not connect to compilation daemon after 300 attempts." but re-running it ("scala") works.

</comment><comment><USER27> What about just using AOT compilation?

<comment><USER28> JVM startup overhead, not clojure runtime overhead. That's still there.

<comment><USER27> What startup overhead?

I meant AOT to native code.

<comment><USER29> AOT to Native code just removes the JIT time. Any overhead of actually running the Java runtime and running initialization code is still there.

<comment><USER28> AOT already means something to clojurists. It means removing the extra runtime compilation phase of .clj into classfiles. The JIT is what the JVM does, which still occurs just like before.

<comment><USER27> Unless the bytecode gets translated to native code ahead of time (AOT).

Although OpenJDK/Oracle JVM don't offer this option, other vendors do.

</comment></comment></comment></comment></comment></comment><comment><USER30> Happier Clojure hacking days ahead :)</comment>


Ask HN? How would you implement SSO for Rails apps? - <AUTHOR>

I've been tasked with building out SSO. It looks like my only real option is implementing a CAS server/client with a paid solution like OneLogin or rbCAS (open).
- https://www.onelogin.com/ - https://github.com/rbCAS/CASino
1. Do I have more options besides the above? If so, which? 2. Is there a better solution besides CAS (http://jasig.github.io/cas/4.0.0/index.html)?
Recommendations are welcome. Thanks in advance. <comment><USER2> I think you do have options. Take a look at SAML-R (SP) [1] and Ruby SAML IDP (IdP) [2]

They aren't perfect but can get you up and running in relatively short time. They are also excellent in showing how things are done.

I worked with them before - implementing a solution where a single app acted as a SP and IdP in development env (great for validation).

[1] [https://github.com/zendesk/samlr](https://github.com/zendesk/samlr) [2] [https://github.com/lawrencepit/ruby-saml- idp](https://github.com/lawrencepit/ruby-saml-idp)

</comment><comment><USER3> I had pretty good experience with building authentication/identity providers with Doorkeeper in Rails. Your clients would then use Omniauth or the Oauth2 directly to login via that provider. I'm boarding a plane right now, so that pulling those projects up for you is a bit tedious but just google them. Cheers!</comment>


Harvard discovers much faster way to adjust your sleep cycle - <AUTHOR> http://parentingsquad.com/easy-way-to-reset-your-sleep-cycle-stop-eating Not eating for 16 hours can help people quickly reset their sleep-wake cycle, according to a study from the Harvard Medical School. This discovery can help people cope with jet lag or adjust to working late shifts.  Scientists have long known that our circadian rhythm is regulated by our exposure to light. Now they have found a second "food" clock that takes over when we are hungry. <comment><USER2> I've had lifelong problems maintaining anything remotely resembling a normal, consistent sleep schedule, coupled with chronic insomnia. Two sleep studies several years apart and a CPAP machine have done nothing. Scientific findings of a "food clock" that can override the circadian rhythm for sleep leads me to experiment. For the next 30 days I won't eat 16 hours before I intend to wake. On waking, eat breakfast. I hope this works.

<comment><USER3> Your sleeping problems resemble mine so closely I could have written that post, right down to the sleep studies and failed CPAP. I sincerely and truly and really really hope the food clock works for you; I'm going to start eating something, anything, when I wake up now.

<comment><USER2> Thanks--I hope the experiment works also. It seems as though it should, based on my experience. It's also an opportunity to record the results of an experiment in Google docs, using their fancy spreadsheet gadgets.

<comment><USER4> I sure wouldn't mind seeing these results...

</comment></comment></comment></comment><comment><USER5> This is a great technique.

I've noticed i actually do this inadvertantly on long plane trips. I can't eat on a airplane or 12 hours before a long flight. When i arrive, it is usually midnight and there is nothing to eat (since most stores are closed). In the morning i usually have a big breakfast. I've never suffered from jet lag, due to readjusting my food cycle.

I know this works for me regarding jet lag. I will use this tequnique to adjusting my sleep cycle at home.

</comment><comment><USER6> parentingsquad.com is so ad-riddled that it actually has more adblock'ed items than the actual content.

In any case, the article in short - "Starving yourself before a long flight may help prevent jet lag"

And here's Reuter's version [http://www.reuters.com/article/domesticNews/idUSN22520427200...](http://www.reuters.com/article/domesticNews/idUSN2252042720080522)

</comment><comment><USER7> That was an interesting meme. I have long valued waking up early, and I promote going to bed hungry. Looks like the two principals are related.

</comment><comment><USER8> I guess not eating breakfast is why my cycle is so unstable...

This actually makes plenty of sense as when I used to have breakfast regularly I would wake up within a minute every morning without an alarm.

</comment><comment><USER9> I thought this was common knowledge. For those who are used to eating with an hour of getting up, the breakfast regulates the energy levels in the day. So it makes sense to align all the meals with a breakfast schedule. I've used this trick for a long time. Never suffered from jet-lag.

<comment><USER4> Apparently it isn't common knowledge, but I guess I should have guessed it: I've been using food (esp. high protien foods) to stay awake for all-nighters for years. I never would have guessed the opposite would work!

</comment></comment><comment><USER10> It's at the bottom of the article, but the author of the paper was interviewed on NPR's Science Friday: <http://www.sciencefriday.com/program/archives/200805234>

</comment><comment><USER11> Alternatively, do it the way I did: Travel to china, and when you get back, don't allow your sleep schedule to revert back to your timezone.

<comment><USER12> Interesting - but not portable. ;)

<comment><USER12> To people living in other time zones.

</comment></comment></comment><comment><USER13> Can someone explain how this works.

Lets say I want to start waking up at 6AM everyday. How can I use my food clock to help me?

<comment><AUTHOR> You need to fast for the 12-16 hours before 6:00 am. So stop eating between 2:00 to 6:00 pm the day before. When you wake up at 6:00 am, eat a healthy breakfast.

<comment><USER13> But wont that put me to sleep right away - I usually feel sleepy after a meal. This seems counter-intuitive.

<comment><USER6> > I usually feel sleepy after a meal.

Carbs do that (e.g. potatoes). Try eating proteins and greens only instead and see if it still makes you sleepy.

<comment><USER14> the other theory i heard was that the stomach uses blood to churn food, which deprives the brain of blood

</comment></comment></comment></comment></comment><comment><USER15> Text doesn't always load, so:

"

Not eating for 12-16 hours can help people quickly reset their sleep-wake cycle, according to a new study from the Harvard Medical School. This discovery can drastically improve a person's ability to cope with jet lag or adjust to working late shifts.

Scientists have long known that our circadian rhythm is regulated by our exposure to light. Now they have found a second "food clock" that takes over when we are hungry. This mechanism probably evolved to make sure starving mammals don't go to sleep when they should be foraging for food.

The lead researcher Clifford Saper explains:

>The neat thing about this second clock is that it can override the main clock ... and you should just flip into that new time zone in one day.

It usually takes people a week to fully adjust to a new time zone or sleeping schedule. To think that this new "food clock" hack can help you change your internal clock in one day is mind boggling.

How does it work?

For example, if you want to start waking up at 2:00 am in the morning, you should stop eating between 10:00 am and 2:00 pm the previous day. When you wake up at 2:00 am, eat a nice healthy meal to break your fast.

Another example: If you are travelling from Los Angeles to Tokyo, figure out when breakfast is served in Tokyo, and don't eat for the 12-16 hours before Tokyo's breakfast time.

Why does this work?

Like everything else in our evolutionary history, it has to do with survival:

>"For a small mammal, finding food on a daily basis is a critical mission. Even a few days of starvation, a common threat in natural environments, may result in death," the study

>"Hence, it is adaptive for animals to have a secondary "master clock" that can allow the animal to switch its behavioral patterns rapidly after a period of starvation to maximize the opportunity of finding food sources at the same time on following days."

>The shift is a survival mechanism in small mammals that forces them to change their sleeping patterns, Fuller suggests. One starvation cycle is enough to override the traditional light-based circadian clock, the study suggests.

>"This new timepiece enables animals to switch their sleep and wake schedules in order to maximize their opportunity of finding food."

>"A period of fasting with no food at all for about 16 hours is enough to engage this new clock," says Saper.

>"So, in this case, simply avoiding any food on the plane, and then eating as soon as you land, should help you to adjust — and avoid some of the uncomfortable feelings of jet lag." CBC (quoting study published in the May 22 issue of Science.

For more information, check out Science Friday's interview with lead researcher Clifford Saper. "

</comment><comment><USER16> Page not found?

<comment><USER17> Reuters: [http://www.reuters.com/article/domesticNews/idUSN22520427200...](http://www.reuters.com/article/domesticNews/idUSN2252042720080522)

LiveScience: <http://www.livescience.com/health/080522-food-clock.html>

<comment><USER18> Should HN implement some sort of mirror for down/unreliable sites? I'm a big opposer of posting mirrors for everything right off the bat (give credit where credit is due) but the link in this story was a 404 for me.</comment></comment></comment>


Julie Rubicon (A story about Facebook's data center Enchilada and PIG) - <AUTHOR> https://www.facebook.com/notes/robin-sloan/julie-rubicon/985697811525170 <comment><AUTHOR> Could this be true? Can Facebook really 'predict' future events?

<comment><USER2> No. How would they do it? Especially when the spikes are in response to breaking news that wasn't known beforehand.

<comment><AUTHOR> Certainly not everything, but isn't possible that there's a correlation between what people talk about with each other and their actions. This might give a glimpse into the future (and outcome of certain things) when it comes to talent shows or elections.</comment></comment></comment>


Clang vs gcc Blender rendering comparison - <AUTHOR> http://lists.cs.uiuc.edu/pipermail/cfe-dev/2009-March/004610.html

<comment><USER2> As I understand it, clang is a C front-end for the Low Level Virtual Machine infrastructure. It's fantastic that the benchmarks show it actually performing better than gcc in many cases, although it's not quite a valid comparison, given that the two programs are not outputting the same pixel values.

<comment><USER3> clang clearly performs much much worse than gcc. I would much rather _correct_ results than _fast_ results in the general case.

The compiler should not make this decision for me.

<comment><USER2> This is true, but clang is new software under active development. The intention of the project is not to trade off speed for correctness but to eventually be correct _and_ fast.

According to the follow-up posts, the differences in rendering may largely be due to bugs in the floating point code generation. Once these are fixed, it is entirely possible that clang could generate the correct images at the higher speed. We won't know until then, however.

</comment></comment></comment><comment><USER4> Great...I can get a 10-15% increase in speed in exchange for results that look like shit.</comment>


Are there any other places like YCombinator that do rounds of funding?  - <AUTHOR>

<comment><USER2> Techstars does and a few others are "sort of" similar. They have been discussed here before.</comment>


What Happened at UserLand  - <AUTHOR> http://inessential.com/2014/05/24/what_happened_at_userland

<comment><USER2> "An excellent book could be written about this period, about how Dave changed the internet."

There may have been some interesting ideas coming out of his shop, but isn't this a little ridiculous? I don't think a single one of these products ever got any real traction, and, frankly, most of them were flops.

I was using Macs during this period. I tried the thing I think was called Radio: started it, it insisted on getting an email address, so I typed mine in. Not more than 10 minutes later I get a spam email from some clown who was handed my email address by Radio, which apparently broadcast it to other Radio users all over the world without asking permission. I deleted it from my machine and never looked at another piece of Winerware after that. But I kept up with comments about Userland stuff on the internet, and noticed a barrage of complaints about security, privacy, memory leaks, instability, and the infamous, irrational behavior of the CEO.

<comment><AUTHOR> Some of these "flops" include: the RSS spec that evolved into the currently used one, XML-RPC, SOAP, OPML...

You must have a very high standard for success ;)

Edit: arguably podcasts were first implemented by Winer too

<comment><USER2> "the RSS spec"

RSS was invented at Netscape with no involvement by Winer. Most informed people starting fresh today would tend to prefer the Atom format.

"XML-RPC, SOAP, OPML"

Some of the "interesting ideas" that I acknowledged. Most people today would prefer REST if possible, although there is a lot of legacy and enterprise stuff that uses, especially, SOAP. OPML is obviously useful, if obvious.

"arguably podcasts were first implemented by Winer"

Automatically downloadable audio files were already in place in several forms before Winer got involved, including subscriptions. Winer and Curry implemented RSS enclosures and used them to deliver audio files. This is an implementation of the existing podcast concept using RSS, and probably helped make podcasting more popular.

The RSS spec is something that a motivated high school student could come up with in a couple of hours. Why grown men consider it an accomplishment and argue about who should get the credit is embarrassing. The real value comes in building a consensus to create an accepted standard. Did Winer do more to help this process along, or to obstruct it? What about stunts like making trivial changes to an existing spec and slapping Userland's copyright on it? What effect did that have on helping to establish the RSS spec as a standard? Edit: The Atom format owes its existence mainly to the desire to create a work-alike that avoids the RSS version mess, which resulted from Winer's antics. Mark Pilgrim early on defined Atom as "RSS without the sociopaths."

And I referred to "products" as flops; you mentioned standards and protocols. The products I'm referring to are Radio and its many precursors and descendants. Do you think that any of these products were successful?

</comment></comment></comment><comment><USER3> The thing I've never been able to get past with Winer's tech is that he is so married to hierarchical representation. I've always felt like my own thoughts are best expressed as graphs.

edit: I mean CS graphs; many-to-many; a child having multiple parents. I don't mean your basic mind-mapping graphical software, which very often also don't support representing graph data structures.

<comment><USER4> Many outliners support graphs... look for the "clone" feature, though it's called various things in various outliners. The problem is that you have the same sort of problem you do with UNIX filesystems, where _almost_ everything expects to work on trees, and then, suddenly, _bam_ it's not a tree anymore and something a little funky or unexpected happens because some code expecting a tree is suddenly being run on a full graph.

<comment><USER5> From "UNIX Implemenation", _The Bell System Technical Journal_ Vol 57, No 6, Part 2 (July-August 1978):

"The file system structure allows an arbitrary, directed graph of directories with regular files linked in at arbitrary places in this graph. In fact, very early UNIX systems used such a structure. Administration of such a structure became so chaotic that later systems were restricted to a directory tree."

<comment><AUTHOR> Symlinks sort of allow for graph-like structures in the filesystem, no?

<comment><USER4> No "sort of" and no graph-"like", it's just, yes. If you follow symlinks you can have a graph. Many filesystems also permit hard-links to form a graph, which makes it that much trickier for a program to determine if it's in a graph or tree regime; I believe many file systems also deny this.

Symlinks + preventing directory hardlinks are a decent compromise in power, where things that choose to understand them can handle graph-like structures, but things that wish to treat filesystems naively (thus treating symlinks as just another file) can work on trees. Beware the "friendly" library that automatically follows symlinks in something like a scripting language, for they are throwing you to the wolves in the name of user friendliness.

</comment></comment></comment></comment></comment><comment><USER6> Been a while since I thought about Scripting.com. It was the first "blog" I really read. I thought I was so cutting edge: had a reader app on my Palm (Sony Clie) that I synced and could read offline. Good times.

</comment><comment><USER7> It sounds like the Robert Scoble mentioned in the article is _the_ Robert Scoble of scobleizer.com.</comment>


Is Quantum Computing real?  - <AUTHOR> http://www.networkworld.com/news/2011/092611-quantum-computing-250825.html

<comment><USER2> My lay-understanding of the state of quantum computing is that it works, but only up until the point where you try to look at the answer. None of the advances we see month after month have got any closer to being able to read the answer without destroying it, and that it's useless in practice without this last step, and we don't have the first clue how to solve it.

Can someone who knows what they're talking about tell me how accurate that summation is?</comment>


Do Orchestras Really Need Conductors? - <AUTHOR> http://www.npr.org/blogs/deceptivecadence/2012/11/27/165677915/do-orchestras-really-need-conductors?ft=1&f=1007&sc=tw&utm_source=twitterfeed&utm_medium=twitter <comment><USER3> Oddly though, that research doesn't answer the question "Do Orchestras Really Need Conductors?" It does answer the question "Does an orchestra which is used to a conductor do better with an expert conductor?"

The Orpheus Chamber Orchestra is one of the few well-known conductorless orchestras. I learned about them from an article in Fast Company, at [http://www.fastcompany.com/39214/leadership- ensemble](http://www.fastcompany.com/39214/leadership-ensemble) . One of the problem with no leadership at all was "We needed twice as many rehearsals just to try all of the ideas." Orpheus instead decided to organize leadership around core groups, where those groups, or membership in those groups, rotates frequently.

<comment><USER4> Didn't know about the OCC, thanks for the link.

I'm not surprised by the result. Judging solely from my choral background, of _course_ conductors are needed. We're trained from day one to follow maestro's direction, but to listen to our neighbors and blend in. Working with a good conductor and a poor one is night-and-day. If you are just up there to wave your arms and keep time, you're not doing the job. Good conductors emote, use a variety of gestures, know their music very well, are unafraid to take charge, and correct-correct-correct. We performers are there to do what we are told; we know that we cannot hear all the sections as well as the conductor can, and that the conductor's interpretation of the music takes precedence over our own. Not all the dynamics in a performance - by a long shot - <USER2> explicitly scored.

<comment><USER3> What did you think of the OCC? Their point is that there are other mechanisms to get the same result, though they require a different sort of "training from day one."

For an example from the Fast Company link, "One of the neatest things about Orpheus is that one of its musicians will go down and sit in the audience to hear how each piece sounds to a concertgoer's ears... I've never seen that happen in an orchestra before."

Why doesn't that happen in most orchestras? After all, presumably the conductor also doesn't hear the same thing as the audience.

<comment><USER4> I'm not a pro, and wouldn't see myself becoming bored as a straight performer, unlike the talented people at Orpheus. I'm not qualified to conduct, nosiree. But OCC has 27 headstrong and capable individuals who all chafe a bit under the baton. No wonder they break up into "core" units to make the initial rehearsals a bit more manageable! Sounds a bit precarious to me, and without inculcation from the old-timers I could easily see it devolving into a mess.

The conductor has a better shot at hearing the performers then the performers do - I had the experience of singing near the orchestra's percussion section and all _I_ could hear were drums, drums, drums. But the podium isn't all that perfect a listening post either (as you mention), and I'll guess that during tech rehearsal the conductor frequently wears a set of headphones tended by the sound desk.

<comment><USER3> As a tangent, I'm still confused by how people think democracy for a government is the best form of government, but that centralized oligarchy is the best form for a business - and also want government to be run more like a business.

I started to write more, but realized that I was mostly pontificating, so I stopped. ;)</comment></comment></comment></comment></comment>


Nidium – A new browser engine - <AUTHOR> http://www.nidium.com/ <comment><AUTHOR> I understand that it may be a little confusing, so here is more information.

In the teaser video all visible parts are direct screen recordings of:

(1) existing 2D canvas or WebGL demos ported to NiDIUM engine

(2) shots and images from the native embedded UI Framework

Do not expect NiDIUM to read HTML pages or to compete with any existing browser.

Instead, expect a solution to build (and browse) applications, with a fast and unified look and feel.

So:

* Yes, it's a browser, in a sense that it can loads remote "apps/code" via HTTP using URLs (and somehow link them)

* Almost everything is integrated and highly customizable (like the integrated UI Framework)

* Cool APIs like plain-socket UDP/TCP (client and server), GLSL postprocessing on every canvas, layer, etc...

* We've made our best to be compliant with existing APIs (context2D, webgl, commonjs, etc...)

* It ditches HTML & CSS in favor of new things (NML and NSS, we will communicate on this later)

* Low Latency Audio and DSP (and yes, one of us come from the demo scene, hence the poor soundchip music ;-) )

We designed almost everything from scratch, but the whole thing is still at an early stage.

And to relate with tranding topics today about "english accent", we made this video a bit "old school" because we're not native english speaker (french) and a bit afraid of making "talkative" videos.

We will post updates as soon as possible!

<comment><USER2> There is a well-known engine with interesting graphics, audio, video, and network capabilities, also programmable in JS.

It's installed on almost every PC for the last decade; it is called Flash.

Can you mention a couple of key things that make your product diferent and desirable, instead of Flash?

Because we remember other nice engines of this kind, e.g. Silverlight.

<comment><USER3> > _Can you mention a couple of key things that make your product diferent and > desirable, instead of Flash?_

It being built on standard web technologies, instead of in a proprietary engine, with a proprietary authoring environment, horrible security, subpar performance and CPU utilization and crappy or no GUI support (so you have to built everything on your own).

<comment><USER4> Built on standard Web technologies except for HTML and CSS, you mean; these are replaced by proprietary "equivalents." Which rather throws the "built on standard Web technologies" thing into some rather severe doubt.

</comment></comment></comment></comment><comment><USER5> I for one, like this. Now, the video & music are awful and definately do not support the overall presentation, but from what I understood, this seems to be pretty cool. Imagine being able to use Javascript for actual desktop application development, without having to resort to tons of html and css in the background. I do like this idea. Even better, it would allow to write applications in ClojureScript or some of the other compile-to-javascript frameworks). Of course, there're other frameworks that utilize javascript for scripting needs or for desktop development ([http://www.tidesdk.org/](http://www.tidesdk.org/)) ([https://code.google.com/p/chromiumembedded/](https://code.google.com/p/chromiumembedded/)) ([https://github.com/appjs/appjs](https://github.com/appjs/appjs)) ([http://www.appcelerator.com/](http://www.appcelerator.com/)) and of course Adobe Air, but all of them just basically open a webview, give you some html that looks a bit like native controls, and let you write html / css / javascript in there with limited access to filesystem or, god forbid, the graphics card.

What I understood this project is, is that it allows me to use javascript to drive my native UI elements, access my full system resources, etc. Basically full native development, only Javascript instead of C++. Maybe a bit like Qt QML ([http://en.wikipedia.org/wiki/QML](http://en.wikipedia.org/wiki/QML)) (and I'd like to see a comparison between these two). I'm really looking forward to this, though I have to admit that the website lacks details, and the video isn't particularly good. This looks a bit too much like demo scene hacking.

<comment><USER6> > _Imagine being able to use Javascript for actual desktop application > development, without having to resort to tons of html and css in the > background_

You already can do it. Canvas, WebGL, SVG, and a bunch of 2D and 3D libraries.

<comment><USER3> > _You already can do it. Canvas, WebGL, SVG, and a bunch of 2D and 3D > libraries._

Sure, and you can even do it with a brainfuck to js transpiler.

But I think he meant do it EASILY, without first hacking a full GUI stack from a 2D/3D primitives library.

<comment><USER6> If you want buttons and sliders, HTML and CSS are perfect for that. They are way easier than Qt or any other framework. Let alone whatever that new browser has in place.

<comment><USER7> Yeah, for 2D interfaces I think that HTML/CSS basically solved the problem, finally, forever. Was soooo happy to switch to web development from doing Java Swing or native toolkits and APIs.

</comment></comment></comment></comment></comment><comment><USER8> File I/O alone is a good enough reason for this kind of projects to exist. I've always wanted to be able to use the power of the browser for standalone, cross-platform desktop applications.

I was shocked when I discovered I couldn't write a simple JS/HTML application and connect it to a local DB like SQLite without going through a server. Each browser has its own hackish way of doing something like that, but they're far from a complete solution. So far I have my eyes on node-webkit[1], which does everything I need it to do, but I welcome every option in this space.

[1] [https://github.com/rogerwang/node- webkit](https://github.com/rogerwang/node-webkit)

<comment><USER9> _I was shocked when I discovered I couldn 't write a simple JS/HTML application and connect it to a local DB like SQLite without going through a server._

You can access a database locally, at least as of the past couple years. It's called IndexedDB. People quibble about the API, the features, the browser support (Firefox, Chrome and IE10 only), etc... but it is a real database you can use locally.

<comment><USER3> Not locally: in the browser. He wants to connect it to a LOCAL db (on his desktop).

<comment><USER9> In the browser is local. Local, as opposed to remote.

</comment></comment></comment></comment><comment><USER10> I find it saddening that the primary response from a crowd normally considering themselves visionaries and pushers, seems to be ridiculing other peoples hard work.

I cannot for the life in me understand how introducing a new browser engine deserves this kind of welcoming.

<comment><USER11> I think that people here are mostly confused. There is not really a clear explanation of what this does or anything. We are just presented with a video of things that are not exactly revolutionary and said that this is the future. This leave most of the community puzzled I would say.

It is ok to create hype for a product that is not out yet but still we would have to know what we should get hyped on.

<comment><USER10> I thought the up votes were meant to serve a way to filter out the good for the bad. If something got to the front thats outright bad then it should be flagged.

Otherwise questions can be asked.

<comment><USER11> I think that people are interested, but still not sure what this is about so they upvote in hope to have answers. (or vote rigging, but I prefer to have faith in people)

</comment></comment></comment></comment><comment><USER12> So the only thing clear from the comments is that the folks behind this are going to have to work on their communication game. The video was obviously created to tease the product a bit, which is hard when nobody knows exactly what thye're looking at, but even when I went to sign up for updates I see:

"We will send you a maximum amount of spam as soon as possible."

<comment><USER13> indeed - the video is flashy, but i only watched less than 1 minute of it, because after 1 minute, i still have no idea what they are going on about, and my time is more precious than that. Pressed stop.

<comment><USER14> Right. You need your precious time to tell everyone on HN that you pressed stop.

<comment><USER2> ...so that others don't sink their time, too?

Sounds legit.

<comment><USER14> But what if someone else posts that they watched all the way to the end??

</comment></comment></comment></comment></comment><comment><USER15> I really don't get a sense of what NiDIUM actually _does_. Is it a framework? A platform? A library? Where does it run? How am I supposed to deploy it? What use case does it solve that doesn't already have existing solutions?

</comment><comment><USER16> This does not look like a browser. It's a gui application framework, that happens to be using javascript as the preferred programming language.

A lot like [https://github.com/rogerwang/node- webkit](https://github.com/rogerwang/node-webkit)

<comment><USER17> They claim no HTML in the video though, so I expect to be more like programming a GUI toolkit than a web application.

</comment></comment><comment><USER18> I recommend seriously shortening the intro to the video, and showing the goods immediately.

Only really interested people on the web have the attention span to watch 30 seconds of uninformative intro.

<comment><USER19> I wasn't really interested and I liked the video. As long as it looks decent and isn't a powerpoint slide of stuff, I'm cool with it.

</comment></comment><comment><USER20> I'd venture to guess from the presentation and the site that this is basically trying to be Node.js with a graphics engine attached.

ie. Throw away the browser DOM and provide a bunch of new apis (and maybe a few existing ones which already seem ok, like the canvas stuff).

I'm curious what you get as a benefit of doing this instead of just using Node itself and providing an api to work with the graphics/sound/whatever engine.

No HTML or CSS renderering -> A considerably more plausible project, and certainly one that won't complete with existing browsers in the short term.

</comment><comment><USER21> Just some feedback - This video reminded me of the demo scene circa 1990. This might lead some to think that the project has been under development for 20+ years and is still in alpha...

<comment><USER22> Or it might be developed by the same guys who were doing demo scene then.

Either way, I'd like to wait and see that one in action - really like the idea.

</comment></comment><comment><USER23> is this any different from what mozilla are doing already with their open source engine? why separate yourself from that? is your code available? if not why not?

</comment><comment><USER24> Can someone please explain to me in short what this does?

</comment><comment><USER25> It's great that people are trying to innovate in this area. That said, I write a web app because I want the accessibility that anyone with a browser already downloaded can come use it easily. It seems to me like this would require downloading a thick client different browser to use web apps written for it.

If it could be rewritten to be started from a JS include on a web page, that would be ideal. Second best would be if it ran from Flash, a plugin that is still widespread. Next best is if it were a plugin itself, but very few users are willing to install a plugin, so that is already unusable for me. Next best is a downloadable separate app, but that's even worse in terms of the number of users who will go through the trouble to use it, so again is not something I would use at this point.

Good luck! I, for one, like the scene style demo vid! Although it didn't tell me if the engine would be open source or not, which is also a big thing with me. Coding for a closed source engine and being beholden to someone else to figure out and fix bugs in it when my webapp is having trouble is very painful.

</comment><comment><USER26> So this is supposed to be a portable browser engine that can be directly embedded into (opengl) video games? This could be great.

<comment><USER27> There's already a couple of these: awesomium (proprietary) and berkelium (open) that basically render Chromium to OpenGL and pass it the HID events you send.

That said, they seem to specifically say it's not an actual browser engine..

</comment></comment><comment><USER28> Most of the visuals in the video are webgl demos:

[http://glsl.heroku.com/e#457.0](http://glsl.heroku.com/e#457.0) apple by iq

[http://glsl.heroku.com/e#10809.0](http://glsl.heroku.com/e#10809.0) by tigrou

[http://www.backtothepixel.com/demos/js/webgl/704_webgl.html](http://www.backtothepixel.com/demos/js/webgl/704_webgl.html) by paulo falcão

[http://threejs.org/examples/webgl_custom_attributes_particle...](http://threejs.org/examples/webgl_custom_attributes_particles3.html)

</comment><comment><USER29> It sounds to me a little bit like Qt Quick (ie QML + JS + remote QML files + Canvas + SVG) with WebGL added on[1], perhaps designed a little more specifically for remote files than Qt Quick is.

I really like Qt Quick, so this seems interesting too.

[1] Qt Quick supports OpenGL ES (the entire QML rendering system is written as an OpenGL-based scene graph), but I don't think you can make direct OpenGL calls without dropping to C++... You _can_ add shaders to components from within QML though.

</comment><comment><USER30> The web is weird, it feels like HTML is meant more for documents than for actual social platforms and dynamic content... If you think about it, is the web really sane?

<comment><USER31> Nothing is sane, just more or less functional and workable. The web seems to be ticking on just fine. There are problems, but also a lot of development.

HTML is designed for more or less static content, but the DOM itself seems well adapted for dynamic content. Since it comes out of a tradition of streaming over slow connections, it's made to be dynamically rendered. The content layout is flexible and somewhat intuitive.

Compared to something like Swing or Cocoa, the only drawback seems to be the paucity of widgets -- we basically just have basic inputs and scroll bars, the rest is app-specific. But that also brings a certain flexibility. I think an update to the table element would be great, perhaps with support for streaming data and more flexible layout.

<comment><USER30> But if you want a program you can install one, why access programs through bloated obscure web browsers? The web is a great place for sharing text of information. But why not learn from the mobile phones which provides native consistent programs for what many people have to access through some web 2.0 crap?

<comment><USER31> I don't really understand your objection...

</comment></comment></comment></comment><comment><USER11> I.... what is this trying to accomplish? Is it like a browser without all the features except opengl? I am confused can someone explain?

</comment><comment><USER32> It's interesting, but the trend toward making everything a web application is even more disturbing to me, given the revelation of how deep the security rot goes these days. The net is pretty much unavoidable, unless you're pretty hardcore, but I, for one, am hoping for focus on pulling things back to the user end at some point.

<comment><USER33> I think the rush to make everything 'web' is primarily because we finally are building an open, free, accessible, write-once-run-everywhere platform. That's the most exciting part of the web, and privacy is a bug we still have to fix.

EDIT: When I say 'privacy is a bug', I mean the ability to provide privacy is still immature, and susceptible of exploits.

<comment><USER32> That privacy is viewed as a bug is even more disturbing.

<comment><USER34> Linux on the Desktop was a bug until Mark Cuban closed it (controversially). I'm not sure why referring to it as a bug is disturbing.

<comment><USER32> It implies that privacy is somehow wrong, as opposed to a perhaps fundamental right.

<comment><USER34> The lack of privacy is a bug which needs to be fixed, I don't believe the OP means a users right to privacy is a bug.

</comment></comment></comment></comment></comment></comment><comment><USER35> It looks like a promising first step towards the great thing we clearly need: an alternative to web. Get rid of HTTP, CSS, and HTML (well, HTML can be useful when we deal with actual _hypertext_). It would be nice to support some languages that are friendlier than JS (i.e., almost any one) though.

</comment><comment><USER36> And once again our community snipes, takes cheap shots and shows a complete lack of appreciation for the effort in a project such as this.

If you have nothing of value to add, just keep quiet. Otherwise you can come across as a bit of a dick. Thanks.

<comment><USER37> And once again our community snipes, takes cheap shot and shows complete lack of understanding for comments expressing confusion over a cryptic, unclear and fluff-filled page.

If you have nothing of value to add, just keep quiet. Otherwise you can come across a bit of a dick. Thanks.

<comment><USER36> _Very_ clever, the ol' switcheroo.

I'm not talking about the comments from genuinely confused people, I'm talking about the nastier snipes which seem to have conveniently disappeared after myself and others called them out on it. Here's one that's still floating around: "there's nothing in that horrible presentation that a modern browser can't do".

And you're calling me a dick for calling out comments like that? Come on, _please_. I realise that my original comment AND this comment aren't adding any value to the conversation either, I'm just saying we aren't doing much in creating an environment where people are confident in sharing their work without fear of hours of work being instantly dismissed by snarky commenters. I'm sure you wouldn't like it.

<comment><USER37> > Very clever, the ol' switcheroo.

There's little cleverness in reminding you of the plank you've got in your eye when you're looking at the dust in your brother's, but thanks nonetheless.

> Here's one that's still floating around: "there's nothing in that horrible > presentation that a modern browser can't do".

The presentation _is_ bad, and aside from this value judgement the comment expresses confusion over the improvements of the project over existing browsers.

> And you're calling me a dick for calling out comments like that?

I don't know, were you calling people dicks? So your comment was not just advising, it was passive-aggressively insulting third parties?

> I realise that my original comment AND this comment aren't adding any value > to the conversation either

Indeed, have you considered practicing what you preach and leading by example?

> I'm just saying we aren't doing much in creating an environment where people > are confident in sharing their work without fear of hours of work being > instantly dismissed

There's little evidence of such a thing here, there's a marketroid video with a fluffy and empty title.

Meanwhile a few links below on the front page (at this time) you've got [https://news.ycombinator.com/item?id=6314730](https://news.ycombinator.com/item?id=6314730) which shows an actual project with a number of interested comments, none of them negative as far as I can see.

Even [https://news.ycombinator.com/item?id=6314310](https://news.ycombinator.com/item?id=6314310) which looks nothing special at first glance garners mostly positive comments (or more neutral ones talking about the space/ecosystem, wondering about it v alternatives, etc...) with a downvoted negative comment whose author readily agreed being wrong when his mistake was pointed out.

> I'm sure you wouldn't like it.

I don't mind marketing copy and email harvesting schemes getting slammed. Especially when advertised as a "show HN" with no show and little tell.

<comment><USER36> I find it amusing that you're happily sniping away while trying to appear all holier than thou. There's not much point in us discussing what isn't there anymore, it's just making my original point look irrelevant which you keep alluding to. But again, you weren't there when the original sniping was going on and promptly removed.

So save your "practice what you preach" and other cliches for someone else because this pointless conversation is becoming a parody of itself.

<comment><USER37> > I find it amusing that you're happily sniping away while trying to appear > all holier than thou.

That's just you projecting.

> There's not much point in us discussing what isn't there anymore

Your comments are here and that's what we're discussing.

> it's just making my original point look irrelevant which you keep alluding > to.

What I'm saying (not alluding to) is that your comment 1. lacks self-awareness and 2. is wrong anyway.

> So save your "practice what you preach" and other cliches for someone else

Yes, I can see you care more for giving lessons than following them, eh.

<comment><USER36> And don't bother replying because you clearly have more time for this than I have. You're just itching for an argument where there isn't one to be had, and it's clearly killing you because you keep coming back.

</comment></comment></comment></comment></comment></comment></comment><comment><USER38> I just wanne know one thing: Will this work with older Browser? and with older browser i mean the browser we have right now. How hard will it be to adapt Browser vendors? or can i run it ontop like google chrome frame ?

</comment><comment><USER39> How about some "native" browser engine video instead of Flash? Seeing all this "native" browser stuff playing in the least native format possible is not inspiring.

</comment><comment><USER40> Interesting. I spoke about this concept at Speakerconf Munich in 2012. I'm happy someone is working on it and at the same time surprised that someone was bold enough to try. :-)

</comment><comment><USER41> If I were to guess this is a performance-oriented version of CEF with additional functionality exposed to the JavaScript engine, would I be anywhere in the right ballpark?

</comment><comment><USER42> ) The problem I see with the browser is that: 1) It takes up hotkeys. (mouse and keyboards) 2) It can look different for different browsers 3) You have extra UI.

</comment><comment><USER43> All those demo's run very nice in my google chrome browser. What is nidium exactly? Sorry for having a negative tone, but its a valid question isnt it?

</comment><comment><USER44> I'm not sure how to feel about this. In some ways, I think things like HTML5, angularjs, node, and CSS3 has made coding in the browser bareable again.

</comment><comment><USER45> Interesting, I initially thought that Javascript was the bottleneck in the web client-stack, not the DOM. May be both?

</comment><comment><USER46> Every place you see "native" in their video, substitute "security nightmare".

<comment><USER46> Also, if you're going to create a "browser" that throws almost everything out, why make javascript one of the things you keep?

</comment></comment><comment><USER47> the site is clearly intended to MARKET this browser. Market. They are marketing a browser.

I should hope the world has learned its lesson as to why a commercial browser with that kind of branding is the worlds worst horse to bet on.

</comment><comment><USER48> What is the memory model of the NiDIUM js with native threading support?

<comment><AUTHOR> The memory is obviously not shared (handling memory barrier / mutex in JS would be too annoying). However, it uses inter-thread communication using structured clone ([https://developer.mozilla.org/en- US/docs/Web/Guide/DOM/The_s...](https://developer.mozilla.org/en- US/docs/Web/Guide/DOM/The_structured_clone_algorithm)) or object stealing where you send an object to a thread with a zero-copy advantage but lose its content/ability to use it from the "sending thread"

<comment><USER48> Thanks for the explanation / link :-)

</comment></comment></comment><comment><USER49> Demoscene wetdream

</comment><comment><USER6> Apart from local file I/O, there's nothing in that horrible presentation that a modern browser can't do.

Good luck with the adoption of that thing.

</comment><comment><USER7> So, this is basically Qt/GtK/<game engine here>, but in Javascript?

(Not that there's anything wrong with that, mind! Just would've been a lot simpler than claiming to be a browser, and would've been less confusing.)

</comment><comment><USER50> The future is here.

</comment><comment><USER51> Based on the name, I'd say it's a web browser that uses crappy, old, rechargeable batteries?

</comment><comment><USER52> What makes the web great is that anyone can author a page.

We pushed the problem of handling these authored pages to the browser, and as a result the web flourished as millions authored content.

Where will the content come from when the browser does not do HTML and CSS, and is instead a native client for OpenGL?

The only way I believe this will work is for the authoring tools to lower the barrier so far that anyone can create content for this.</comment>


Have Smartphones Destroyed a Generation? - <AUTHOR> https://www.theatlantic.com/magazine/archive/2017/09/has-the-smartphone-destroyed-a-generation/534198?single_page=true <comment><USER2> [https://news.ycombinator.com/item?id=14918928](https://news.ycombinator.com/item?id=14918928)

</comment><comment><USER3> Wasn't the big story last week that digital natives and millennials weren't really a thing?</comment>


USA Freedom Act fails as senators reject bill to scrap NSA bulk collection - <AUTHOR> http://www.theguardian.com/us-news/2015/may/23/usa-freedom-act-fails-as-senators-reject-bill-to-scrap-nsa-bulk-collection

<comment><AUTHOR> There's a video of the whole session at [http://www.c-span.org/video/?326202-3/us-senate-votes-nsa- su...](http://www.c-span.org/video/?326202-3/us-senate-votes-nsa-surveillance)

It gets really dramatic at around 1:04, after McConnell's 2-month reauth was blocked as well (46-52). Shorter-term reauths needed unanimous consent. McConnell proposed a 1-week extension and Rand Paul objected, requesting to have a guarantee to have 2 amendments voted on. McConnell proposed a four-day, three-day, two-day, and one-day extensions; Rand Paul objects to all. Then after a few minutes McConnell came back to say "well, we have one more chance to act responsibly, see you on the 31st."

EDIT: Buzzfeed has the confrontation on video at [http://www.buzzfeed.com/katherinemiller/in-a-box-with-a- fox](http://www.buzzfeed.com/katherinemiller/in-a-box-with-a-fox)

<comment><USER2> Thank you for that. I'm quite pleased to watch our democracy finally playing this out properly.

</comment></comment><comment><USER3> This is a good sign. And to be clear, USA Freedom is just another reauthorization of NSA spying. There were motions to extend the Patriot Act by just a few days (even one more day), all objected to by Rand Paul/Ron Wyden.

So the next vote is Sunday the 31st. Hopefully the windbags (who truly believe the US is under constant attack and the only way to save us from these horrible terrorists is to passively treat every citizen as a terrorist) will lose this battle.

The US did just fine before the Patriot Act. It will do just fine, once again, without it.

</comment><comment><USER4> My guess is that losing the "patriot" act would actually improve the capabilities of US counterterrorism because they'll be forced to get their shit together and do some real intelligence work rather than wasting huge amounts of time and resources on this panopticon fantasy that they clearly have no idea how to utilize effectively. Constraints provide focus.

</comment><comment><USER5> As of now the Patriot Act expires on June 1st then.

 _As he put it, there are those who want a "straight extension, those who like USA Freedom and those who like nothing"._

 _Those want a straight extension of the Patriot Act are in a distinct minority and supporters of the USA Freedom Act still cannot muster the necessary super majority to advance the bill. The result means those who are more than happy to simply let Section 215 expire on May 31 are in the driver's seat._

Count me in on the group that wants to see it expire. It is also just terrible to see the words 'patriot', 'USA', 'Freedom' in this mess.

<comment><AUTHOR> The Senate's meeting again on the 31st. Rand Paul plans to offer some amendments; Burr may well have one as well. So it may be a revised USA Freedom Act; or it may be a sunset.

</comment></comment><comment><USER6> Watch as Sen. Barbara A. Mikulski gets up, and defends the program... then take a look at her top contributors.

[http://www.opensecrets.org/politicians/summary.php?cid=n0000...](http://www.opensecrets.org/politicians/summary.php?cid=n00001945)

<comment><USER7> I'm sorry, which one of those contributors has a vested interest in extension of Section 215?

<comment><USER8> Both Harris [1] and Mantech [2] offer products that include "intel analysis". Section 215 seems like a great avenue to perpetually harvest data and keep these products a necessity. Yes, [1] looks like any other analytics dashboard, but what else would you expect for NLP and voice recognition on a massive scale?

[1] [http://govcomm.harris.com/solutions/InformationManagement/Da...](http://govcomm.harris.com/solutions/InformationManagement/DataAnalytics.aspx#innovations)

[2] [http://www.mantech.com/solutions/Intelligence%20and%20Counte...](http://www.mantech.com/solutions/Intelligence%20and%20Counter- Intelligence/Pages/default.aspx)

</comment></comment></comment><comment><USER9> The Land of The Free needs a "Freedom Act" to add some freedom?

Even if it's passed, do you think NSA will stop snooping on everyone?

If not, what's the point of enacting the legislation? Are politicians just retarded, or do they think the law serves a purpose even without an effect on what NSA is doing? Wha t might that purpose be? Could it be related to perception management?

<comment><USER10> The names of US senate bills sometimes seem straight out of 1984. Freedom Act. Patriot Act. It's amazing they can keep a straight face while saying those names.

<comment><USER9> True. But it's even more amazing how the masses just keep swallowing that shit. Of course, it's understandable too, considering people have been trained to be obedient cattle.</comment></comment></comment>


Show HN: SingleFileZ – Save a web page in a HTML file which is also a zip file - <AUTHOR> https://github.com/gildas-lormeau/SingleFileZ <comment><USER2> This is clever, many of the benefits of epubs - organization,convenient sharing, filesize - without the conversion step.

The mobile compatiblity and well thought out defaults are appreciated as well. Thanks for sharing.

</comment><comment><AUTHOR> Here is an example of file produced by the extension: [https://github.com/gildas- lormeau/SingleFileZ/blob/master/ex...](https://github.com/gildas- lormeau/SingleFileZ/blob/master/example/data%20URI%20scheme%20-%20Wikipedia.html)

</comment><comment><USER3> I love it.

Any chance of further integration with browser bookmarks? That would be even lovelier.

<comment><AUTHOR> Thanks! That's an interesting suggestion. Could you give me more details?

<comment><USER3> When I save a page with SingleFileZ, I can open it again from my downloads folder, or from the browser's downloads list.

I'd like to, somehow, be able to choose between the archived version and the real link when opening a bookmarked/previously saved page.

Another thing: Currently I'm unable to save pages when in Reader View mode, is there any workaround to this?

Congratulations, great job!

<comment><AUTHOR> Thanks for the details and the kind words. I need to see how the bookmarks API works. I've never played with it until now. Unfortunately, extensions can't run in the Reader View mode. I don't know any workaround to this. However, it could be possible via Selenium/Geckodriver (SingleFile can run via the command line interface) but I did not do the test.

<comment><USER3> Thanks for answering!

Maybe it's a silly thought or beyond the scope of SingleFileZ, but could you implement the reader view on your side, like some "save in reader view" option where it would save the whole page, then trim it _reader view style_?

One of my use cases are cooking recipes, which usually come from bloated sites and weigh in the Mbs, but are only a few Kb on reader mode.

<comment><AUTHOR> You're welcome. I'm glad people are interested in my projects too ;)

Implementing a Reader view is hard, I guess. It looks like it's almost impossible to write a program to be able to do it in a generic way for all existing websites. If one day I find a trick to do so, I'll implement it.

By the way, did you try the "Save selection" feature (cf. the contextual menu)? It allows you to save only the selected part of the webpage. With Firefox, you can even select multiple parts of the page by holding the Ctrl key while selecting contents.

<comment><USER3> > _By the way, did you try the "Save selection" feature_

Wow, I didn't... duh! Works great, very very nice!

<comment><AUTHOR> :)

<comment><USER3> Just a last note to state that I'm delighted with the detailed and thorough preferences.

I don't know if that's your work or if it comes from the forked project, but anyway, congrats and thanks for such a useful addon, keep it up!

<comment><AUTHOR> Thank you very much! I'm the author of both projects (and zip.js too actually) ;). By the way, if you can, do not hesitate to leave a review on the Mozilla Add-Ons Store.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER4> MHTML is around for ~20 years (since IE 5.0) – [https://en.wikipedia.org/wiki/MHTML](https://en.wikipedia.org/wiki/MHTML)

<comment><AUTHOR> Can you open your MHTML page in any browser (supporting JS)? Firefox or Safari, for example, don't support MHTML. Moreover, MHTML is more and more becoming a proprietary format (cf. for example the serialization of shadow root contents).

</comment></comment><comment><USER5> Brilliant ! What a great idea, even if I don't know what to do whith that :D

<comment><AUTHOR> You could archive pages! ;)

</comment></comment><comment><USER6> Forgive me for asking but what is the purpose of this?

<comment><AUTHOR> Because I can (it's HN, isn't it?). Maybe also to offer a technical solution for browsers that don't support MHTML.</comment></comment>


Show HN: PHP Compiler to .Net - <AUTHOR> https://www.peachpie.io <comment><USER2> Makes me wonder if it gives any additional performance benefits with AOT compile and TPL</comment>


Bangladeshi air cooler made from plastic bottles uses no electricity - <AUTHOR> http://inhabitat.com/this-amazing-bangladeshi-air-cooler-is-made-from-plastic-bottles-and-uses-no-electricity/eco-cooler-plastic-bottle-air-conditioner-3/ <comment><USER2> Anyone know how this is supposed to work. The part about "compressing and cooling the air" doesn't make any sense. The air wouldn't be compressed and it it was it would get warmer, until it wasn't compressed any more.

My guess is that it allows a relatively high level of ventilation but blocks the sun that would otherwise come in through the open window. So more or less the same effect as an awning.

<comment><USER3> It's the expansion of the compressed air that cools it. IANAME (I'm not a mechanical engineer) but thinking through the physics of it, you need a fairly strong airflow since the compression has to be adiabatic (air must be compressed quickly enough so it doesn't heat up), then once it expands, it cools.

Of course all of this still takes energy and I'm not motivated to do the math, but cooling a room by 5 deg C still takes the same amount of energy whether it's powered by wind or electricity.

<comment><USER2> >air must be compressed quickly enough so it doesn't heat up

The heating is inherent to the compression. Adiabatic means something else.

To make air based refrigeration work, you would have to compress the air and transfer the extra heat somewhere else. Then you would get cooling when you let the air expand again.

... which is all still moot as the air would not be compressed enough to matter in this case.

</comment></comment></comment><comment><USER4> I love solutions like this. I look at them and think "It's so simple and obvious! I could have invented that." But I never do invent them.

<comment><AUTHOR> Maybe such solutions are only really obvious in retrospect!

Some of my favourites in this category are the Q Drum (a rollable water container) and the GravityLight (a lamp powered by gravity).

[1] [http://www.qdrum.co.za](http://www.qdrum.co.za) [2] [http://gravitylight.org](http://gravitylight.org)

<comment><USER5> "Gravity light" will never be something more than a curious gadget.

If you lift a 20 kg weight by two meters, you gain a potential energy of 20 * 2 * 9.8 = 392J. Amazon seems to be selling "60W equivalent" LED lights which consume 8.5W. (I think that's about the realistic minimum for reading or cooking.)

Assuming 100% efficiency, you can power this LED light for 46 seconds.

<comment><AUTHOR> The device does not use a typical consumer LED lamp.

The efficiency of its LED lamp is about 210 lm/W whereas for an average consumer lamp it is less than 100 lm/W.

More important is that the brightness of this LED is just 16 lumens compared to 400 lumens for the average consumer lamp.

The device itself only generates 0.075W. This is well within your potential energy calculations.

While this is not the same level of brightness that westerners are used to, it is sufficient for reading and other activities.

The device has an extension point to attach a cable to task-specific spotlights, used for reading for example. Or to power a radio.

Tech Specs: [http://gravitylight.org/techspecs](http://gravitylight.org/techspecs)

<comment><USER5> So, according to the tech spec, it has 0.075 W output = 75 mW.

A single 1.5V AA alkaline battery can provide the same output (50 mA * 1.5V = 75 mW), and it can provide up to 2600 mAh, which equals 52 hours, or almost a month if you need the light on for two hours every day.

So a family can simply buy a (very small) LED light and a single rechargeable AA battery. They probably could find a shop to recharge the battery once every month, with minimal fee. Sounds much more reasonable than buying a 12.5kg pulley that needs to be reset every 20 minutes.

* The fact that I've never heard of these amazing "single AA battery powered lights" sweeping through African homes makes me doubt your claim that it's "sufficient for reading and other activities". (Many Africans have cell phones; many more should be able to afford an AA battery.)

<comment><AUTHOR> The problem is that the cheapest source of lighting for many poor communities is hazardous biomass fuels like kerosene. And unfortunately good alternatives like solar may not be a viable option for everybody.

Sure there are many parts of Africa with good infrastructure, but just because you are living in Africa in the 21st century does not mean you are now surrounded by power lines!

The nearest power socket might be a few dozen or even hundreds of miles away. How are you going to get there and back? If you don't succeed in charging your battery today because of floods or storms, will you go without lighting?

And there is also cost and access to credit to account for. The GravityLight is targeting $5 price point, whereas a basic solar charging pack in Uganda costs approximately $150 USD on finance [1].

Compared to batteries, GravityLight has no operating costs. It also does not degrade over time, lose charge when it is unused, or unexpectedly stop working when the battery runs out. This might be an important consideration for some.

As for whether the device can produce adequate lighting. A candle or simple kerosene wick lamp will produce around 8 lumens of light output [2] compared with the 16 lumens of the GravityLight. So this is pretty good.

Each community has different needs and circumstances. Providing people with more alternatives to kerosene fuel will allow them to choose the solution that is right for them.

[1] [http://www.fenixintl.com/uganda/](http://www.fenixintl.com/uganda/) [2] [http://evanmills.lbl.gov/pubs/pdf/offgrid- lighting.pdf](http://evanmills.lbl.gov/pubs/pdf/offgrid-lighting.pdf)

</comment></comment></comment></comment></comment></comment><comment><USER6> thunderf00t will debunk this as not a sanitary napkin-making machine-scale revolution.</comment>