Reusable UI Widgets Using RequireJS and Knockout - <AUTHOR> http://fxenik.wordpress.com/2014/11/22/reusable-ui-widgets-using-requirejs-and-knockout/

<comment><USER2> Can these workflows be applied with other frameworks (other than knockout)?

<comment><AUTHOR> It can certainly be applied, as long as you can pass an html string to your template engine. For example, with Ember.js you could use Ember.Handlebars.compile to create the view based on the html you get with requirejs.

<comment><USER2> and I suppose it is the same for Angular? I prefer it as oposed to Knockout

<comment><AUTHOR> Yes, I believe you can, though I'm not very experienced with Angular. Check this post: [https://coderwall.com/p/mgtrkg/variable-templates-for-an- ang...](https://coderwall.com/p/mgtrkg/variable-templates-for-an-angularjs- directive)

Why would you prefer Angular over Knockout?

<comment><USER2> I will take a look to your link. Thanks! Angular has more features and goodies especially for client-side web development. To my view knockout does not provide such a big list.Any way thanks... nice post!

<comment><AUTHOR> No prob, thnks!</comment></comment></comment></comment></comment></comment>


Ask HN:You have $1b to found your own university. What do you do? - <AUTHOR>

I love blue sky thinking, I just wanted to hear your thoughts.
A friend of mine just left a prestigious auditor job in accounting. I asked him how much of his degree was useful to him. He said that he could have been fine with a class or two and maybe some hand holding for the first six months. That really struck me.
How much of getting a degree is just signaling? <comment><USER2> I'd focus on skills.

There is an interesting development where a couple states are playing with the concept of a no-upfront costs for education system, but a % of income for a period of time. If that could be applied to society at large via a for-profit private university. I might consider building a university which focused on marketable engineering/tech skills which collected revenue based on an increase of salary.

Say you are making 30-40k when you enter and you would be willing to give 10% of anything above that for 10 years.

It would seem the university would now be directly incentivized to teach you skills which increase your pay. Moreover they would be more incentivized to get you a good job/jobs/promotions over the years to create a better return for themselves. You'd probably end up with a career coach…

just some random thoughts.

</comment><comment><USER3> _A friend of mine just left a prestigious auditor job in accounting. I asked him how much of his degree was useful to him. He said that he could have been fine with a class or two and maybe some hand holding for the first six months. That really struck me._

Why did you assume he's right?

<comment><AUTHOR> Because I have a job related to accounting right now. Most of the knowledge is on-the-job training. How much you can learn in a class room setting is limited.

</comment></comment><comment><USER4> Project based learning. Students propose projects as a team, relevant faculty mentor them. For example, to learn web dev a student might propose building a SaaS app. He would ask relevant faculty to mentor him and peers to work on it with him (devs, admins, designers, ). The team would elect a leader and have regular checkins with their mentors. The only job the mentors have is to help the team succeed. If they want to do their own research or work, then they should encourage a student to find a team and propose it as a project.

Each student could do 8 projects over 4 years. If one takes off, they're in a position to take a break and try to make it as a startup. That'd be encouraged by their mentors, and ownership / IP would be structured to benefit the students with a slight stake for the mentors and university (< 5%).

This would provide many real world skills (what you're doing in the project, leadership, working with others, etc). It'd also help the students build a track record of independence and success.

</comment><comment><USER5> I'd just give it to my alma mater. I learned a lot in college, greatly increased my analytic skills, learned from courses, research, and peers, and believe I came out a smarter and more capable person because of it. I don't doubt that a better university could be created, but I'm not sufficiently convinced of any particular idea to want to put my backing behind a new university. My alma mater has a lot of money, but a billion dollars could still make a big difference and be used to push them towards new ideas without starting from scratch.

</comment><comment><USER6> Rather than wasting $1B on University Level programs... mountains of research suggests that early childhood initiatives are the best way to chip away at inequality and reduce the toll of crime, drugs and educational failure. Here's an interesting project in Tulsa> [http://www.nytimes.com/2013/11/10/opinion/sunday/kristof- okl...](http://www.nytimes.com/2013/11/10/opinion/sunday/kristof-oklahoma- where-the-kids-learn-early.html?pagewanted=all&_r=0)

</comment><comment><USER7> build a online diverse university where you bring people together from different ethnicities, races, and ages. Get them to work together on problems they face, faced , or will face. build a future you wanto be a part of.

The eligibility criteria should be based on how effectively you solve a problem or what you learned from trying to solve it . Not your country of birth

</comment><comment><USER8> There is definitely a bizarre market dynamic in higher education right now. That doesn't mean that a degree is useless for learning (some more than others, I'm sure). However, because of the effect of 'prestige' on school values, there are a lot of undesirable effects on the academic market. It is a weird economic conundrum that colleges are putting out more producers (graduated possible professors) than can find work, while at the same time college prices are rising. It's like farms breeding too many dairy cows and at the same time there is a milk shortage, because only milk from a few non- expanding dairies is considered good enough.

Since the perceived value of a degree when it comes to the job market has much more to do with a school's reputation than it does with the actual educational accomplishments of the degree holder, what I would do is use the $1 billion to create a new university which would do all it could to spread the prestige away from the schools where it is centralized.

In other words, there are only a few Harvards or Cambridges in the world. If there were 1000 schools of this perceived quality, no one would bother even knowing their names. You might look one up to see if it was on the 'list of quality schools'. In theory, accreditation is supposed to be like that. But in the real reputation market, Harvard and say, Eastern Carolina might both be accredited schools, but there are significant differences in reputation. I would gladly wager that the best student at ECU is a better student than the worst at Harvard, but the Harvard fellow will benefit from his schools reputation in a way that the ECU fellow will not. And this is why schools with less prestige cannot offer effective price competition with more prestigious schools, regardless of actual quality of education per dollar.

This is a problem when it comes to the ever-increasing cost of college, because the reputation effects keep faculty from just going off and making their own new college to compete with their current employer. If the Harvard biology department all took jobs with Example State, this would increase the prestige of Example State, but the professors would feel more of a loss of prestige than Harvard would. Even though it's the same department, with the same professors!

So, I'd hire a bunch of prestigious faculty in a specialized area, to create a school which could compete with the Ivys for e.g. 5% of their student body. I'd build reputation for the school by sponsoring contests and conferences which accentuate the dominant position of the new school in its chosen area. And I'd aggressively recruit the best students in that area from other schools, by offering easy credit transfer, better student aid, etc. Until people in one particular field say, "Harvard? It's not like you went to Fiat Lux Dave University".

Rinse and repeat (with as many $billions as available), until sanity returns to higher ed costs.</comment>


Compiler Optimizations Should Pay for Themselves (1994) [pdf] - <AUTHOR> https://pdfs.semanticscholar.org/8043/5e17ef603de14514dac7d9a9856a4bfc6863.pdf <comment><USER2> This sounds very similar to the criteria used by the Go team as to whether to add compiler optimizations or not, namely the optimization should speed up the compiler by at least an amount that the extra computation of the optimization takes.

I don't think the go team worry about the size of the object as much though.

<comment> david-gpu Imagine using that yardstick to guide what optimizations to implement on a FORTRAN compiler -- it would be absurd! Most workloads don't have a lot in common with a compiler.

<comment><USER3> Imagine advertising FORTRAN as a developer-friendly language with fast compilation times! I'm sure the Go folks are using this metric because it's compatible with their goals, which aren't everyone's.

<comment><USER4> The Go team has a whole bunch of benchmarks besides compiler performance by which they judge the language. Certainly maintaining good compiler performance means giving up some low-value optimizations, but it doesn't mean compiler performance is their only benchmark.

</comment></comment></comment></comment><comment><USER5> Chez Scheme essentially follows this rule, and has since its inception, and it is an incredibly impressive project IMO. It can compile itself in just a few seconds and has a fairly simple architecture (despite having 30+ distinct IR languages in the compilation pipeline, and Scheme being a relatively high level language already, on a ~100k(?) codebase) and it has very good overall performance for generated code that "scales well". It tries not to be too good at the expense of other things, or bad/unwieldly in others. The goal is more that "results are predictable and not fragile", but in practice it means you apply rules like this. It's like putting a monetary budget on feature creep, to me. Chez is a very pleasurable Scheme to work with.

Apparently the only time they really violated this rule was when rearchitecting their compiler from using 5-6 distinct IR languages to over 30 of them using the "Nanopass" approach. So I assume the compile time simply went from "a few seconds" to "a few more seconds", but that's probably OK to do once over ~30 years, I guess. :)

I was told once (by one of the developers of) the Microsoft C# compiler team followed a similar rule where they never made a release that regressed their internal compiler benchmarks, i.e. they were only allowed to get faster. Obviously the .NET runtime does a huge amount of heavy lifting in terms of a C# programs performance, making the compiler a bit simpler, but it still means things like optimizations must pay off in speed _and_ effectiveness. They even rewrote the compiler from C++ to C# at one point and _still_ met this goal somehow, apparently, and once you're at that point -- bootstrapping yourself -- you begin the virtuous cycle of self-improvement. I'd be interested to know if any C# developers have seen the Microsoft .NET compiler get slower -- everything I've heard is that it's very fast and nice to use.

</comment><comment><USER6> This only works for compilers written in the same languages as the ones they compile...?

<comment><USER7> Better than that - it only really works for languages that are only used to write their own compiler ;)

</comment></comment><comment><USER8> This is the "the compiler represents a typical workload" fallacy.

<comment><USER9> Similarly, I think one reason that the programming-language community likes functional programming more than most people is that a compiler is fundamentally one big pure function.

<comment><USER10> Well, it turns out languages written for PL and compiler research make writing programming languages and compilers easier...

</comment></comment></comment><comment><USER11> This article was written in 1994 and its advice seems appropriate. For 1994. In 1993, the SPARCstation ZX had a maximum of 96 MB of memory. So code size was important back then. My iPhone has 2GB of DRAM now. You can get a 4.19TB EC2 instance [1].

Yeah, this might have been wise in 1994 but this is just spectacularly bad advice now.

[1] [https://techcrunch.com/2017/09/14/aws-now-offers-a- virtual-m...](https://techcrunch.com/2017/09/14/aws-now-offers-a-virtual- machine-with-over-4tb-of-memory/)</comment>


How To: Get Your Startup Featured on Mashable - <AUTHOR> http://mashable.com/2010/05/19/startup-submission/

<comment><AUTHOR> Our startup was featured on Mashable last November. We didn't know anyone there, or have any connections that did. We just fell under the criteria, applied, and landed on the front page a week later.

<comment><USER2> And did it do anything for you?

<comment><AUTHOR> In the month following the post, we only received ~800 uniques directly from Mashable (it was posted on a late Friday afternoon). But, if you lump in Twitter and direct visits, it was probably closer to 4-5k. Plus the bounce rate on those visits was very low, and the post definitely impacted our Google search result positively.

<comment><USER3> It only drive 800 uniques? That is impressively low.

I used to buy a weekly link on a blog with 34 times less traffic than mashable. It was generally is a pack of maybe 10-20 other links. That sent me ~10,000-20,000 per week.

Other than SEO benefit, that's very disappointing.

<comment><AUTHOR> I think time of day made a huge difference. I found out about the post at around 7 PM on a Friday, while I was at a bar with friends. We weren't checking our feed readers; someone texted me the news.

All the same - you're right, the traffic was low. A lot of people had thought "we'd made it" from being "Mashed", but clearly, that was anything but the truth. Still, I'll take it.

If you're curious, the post was here: <http://mashable.com/2009/11/27/guestlist/>

</comment></comment></comment></comment></comment><comment><USER4> If you're in business for 3 years and making 1 Million plus per year, then you're a mid sized company. Not a startup.

<comment><USER5> Speak for yourself. Plenty of bootstrapped startups grow very slowly over 3+ years and earn around $100k per month which would technically put them above $1m/year.

</comment></comment><comment><USER6> Just curious why the 3 year requirement. I'd think that some quite awesome technologies can live and die in that amount of time.</comment>


Top Linux developer on Intel chip security problems: 'They're not going away.' - <AUTHOR> https://www.zdnet.com/article/top-linux-developer-on-intel-chip-security-problems-theyre-not-going-away/ <comment><USER2> '.. [Intel Software Guard Extensions (SGX)] is what supposed to be secure inside Intel ships" [but, it turns out it's] really porous. You can see right through this thing."'

Have a second system that boots and secures the rest of the computer and then switches itself off. As in there is no combination of instructions that can access this second system. A bit like the Intel ME except it's actually secure from remote activation.</comment>


Update on the Twitter Archive at the Library of Congress - <AUTHOR> https://blogs.loc.gov/loc/2017/12/update-on-the-twitter-archive-at-the-library-of-congress-2/ <comment><USER2> I'm so old I can remember when you could see _all_ the live tweets flying by last decade.

Great quote in the (too long) nyer article: "Talk, talk, talk: the utter and heartbreaking stupidity of words," William Faulkner 1927..

I'm sure the NSA, GCHQ, the big platform companies etc are archiving all the tweets forever, it's a shame the public don't have access to curated content taxpayers have paid to keep in those repositories.

The LoB can't possibly archive the entire internet without massive investment

</comment><comment><USER3> I've wondered how much hardware it takes to store and search over every Tweet. I figure the total number of Tweets is in the low trillions. I know Twitter does this themselves and presumably [http://support.gnip.com/apis/search_full_archive_api/](http://support.gnip.com/apis/search_full_archive_api/) uses the same backend servers. Does Twitter have any public info on how much hardware is dedicated to this?

<comment><USER4> It's sometimes mentioned in their blog posts:

[https://blog.twitter.com/engineering/en_us/topics/infrastruc...](https://blog.twitter.com/engineering/en_us/topics/infrastructure/2017/the- infrastructure-behind-twitter-scale.html)

Not a lot of specifics, but there's some interesting tidbits:

> Hadoop: We have multiple clusters storing over 500 PB divided in four groups > (real time, processing, data warehouse and cold storage). Our biggest > cluster is over 10k nodes. We run 150k applications and launch 130M > containers per day.

</comment></comment><comment><USER5> > the cost of properly arranging and organizing vast amounts of information is > frequently underestimated.

There are a lot of jobs to be had here. But not in tweets. Think cancer research, molecular biology, taxonomy, behavioral and experimental psychology. The data

<comment><USER6> > There are a lot of jobs to be had here. But not in tweets. Think cancer > research, molecular biology, taxonomy, behavioral and experimental > psychology. The data

Did your comment get truncated?

<comment><USER7> He stopped at the 160-character limit to make a point.

<comment><USER6> Thank you; it totally went over my head.

</comment></comment></comment></comment><comment><USER8> It seems like a good decision. I don't think there's much merit in archiving the entire firehose.

<comment><USER9> It's impossible to know ahead of time which tweets or trends are going to be interesting.

<comment><USER10> True, but filling the records with so much noise that finding the interesting ones amounts to concentrating gold from seawater, you're no longer doing the job an archivist should.

<comment><USER11> If you have the firehose, it is easy to derive the selective archive by filtering on the list of noteworthy accounts. Ignoring monetary costs, archiving the firehose is strictly better than selective archival. It enables future researchers to examine trends on a societal scale.

<comment><USER12> Or find things that seemed insignificant at the time but became significant later with hindsight.

<comment><USER13> not to mention the fact that twitter is basically millions of monkeys banging away at keyboards, eventually they will produce some great works.

<comment><USER10> For values of "eventually" which include timescales on the order of proton decay...

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Given that tweets are only 280 characters and there are perhaps a couple hundred accounts that the LoC archives, I fail to understand why the premier archiving project in the country can't keep a slowly growing fistful of gigabytes on a hard drive somewhere.

<comment><USER15> From someone who worked with the Twitter firehose briefly: A handful of gigs per day. More like hundreds of terabytes of information total, headed into petabyte territory. First, there's a lot of tweets. Also, the message itself is not all the data available with a tweet. Toss in any semantic processing or tagging and each message grows quickly.

The company I worked with spent a non-trivial amount of money storing historical tweets. I'd even go so far to say that was the majority of the IAAS costs - even more than the compute required to process them in real time.

<comment><USER14> OK fair enough, I didn't account for metadata. I'm gonna try some back of the envelope math, tell me if I go off the rails anywhere:

First, how many accounts are we talking about here? Between POTUS, VP, their spokespeople, cabinet members and official agency accounts, I'm going to assume the executive branch has about 50 accounts that ought to be archived. For congress, I think it's reasonable to archive each member's account and their spokesperson: 200 accounts for senate, 870 accounts for congress. In the interest of Fermi estimation (and because I'm not sure if every one of these people has an account) let's call it 1000 accounts.

I'm going to go with a mean of 10 tweets per day (again in the name of Fermi estimation).

With 280 characters + metadata, I'm going to round up to 1KB per tweet.

1000 accounts * 10 tweets/day * 1KB/tweet = ~10MB/day = ~3.65GB/year = ~40GB for the current lifetime of Twitter

If you're drinking from the firehose to archive tweets for a huge userbase (and feed them into models or perform semantic analysis) I could see this getting expensive and costly. If you're just try to archive tweets from a certain group of users and keep them on a disk (with a tarball or zip file released quarterly) it feels a bit more doable.

That said, this little thought exercise has gotten me thinking a lot more about what I expect of the LoC and the National Archives. I'd be happy with a "cold storage" record of the tweets being preserved for posterity, but they may see their mission as making the tweets into a tagged searchable collection. I also think there are arguments to be had about how many people's account really need to be archived (perhaps states could handle archiving their own reps).

In the end I guess I'm cool with the LoC scaling back collection as long as they're transparent about how they're doing it.

<comment><USER16> They were doing all accounts previously, not just government officials. Their new selection is likely to still include government officials.

</comment></comment></comment></comment><comment><USER17> I feel I'm not the only one thinking that "select few" to archive will exclude a certain public figure. The benefit to the "full dump" is that it includes everything, without any bias or removals.

<comment><USER18> Are you implying that the Library of Congress will exclude communications from the President of the United States? That seems like a stretch.

</comment></comment><comment><USER19> The article title is misleading, they haven't "quit twitter", they're just no longer archiving every public tweet (except for a select few, e.g. those that are likely to be historically interesting/noteworthy - e.g. Trump's twitter utterances).

Perhaps the title should be editorialised to something like:

"Library of Congress announce a change in collections practice for Twitter"

edit:

@dang - how about changing the link to:

[https://blogs.loc.gov/loc/2017/12/update-on-the-twitter- arch...](https://blogs.loc.gov/loc/2017/12/update-on-the-twitter-archive-at- the-library-of-congress-2/)

or

[https://blogs.loc.gov/loc/files/2017/12/2017dec_twitter_whit...](https://blogs.loc.gov/loc/files/2017/12/2017dec_twitter_white- paper.pdf)

<comment><USER20> Misleading, maybe, but I don't think many were confused about the actual meaning of the headline (I certainly wasn't).

<comment><USER21> So you actually read it as "The library of congress quits archiving Twitter"? Hmm...

<comment><USER20> Yes. But I had heard of the news story about them starting to archive twitter. If I hadn't, maybe I would be more confused. Why would the library of congress quit twitter, I thought, and why would it even be a worthy enough event to warrant a news article? If they didn't find value in it, they would just stop posting. Why would a neutral government agency take something like a political stance against twitter? If I was wrong, yes, it definitely was news worthy. But occam's razor, and the law of clickbait, led me to the conclusion that most likely, it means that they've stopped archiving tweets, and not that they have deleted their account.</comment></comment></comment></comment>


A historian's critique of popular conceptions of witchcraft - <AUTHOR> https://athenaeumreview.org/essay/managing-our-darkest-hatreds/ <comment><USER2> I think that while there's a lot of informationally isolated pagans out there who still buy into the "burning times", hidden matriarchal religion, pagan survivals in folk customs, etc etc stuff, anyone who's well informed knows that all that has been shown to be 19th-century romanticism at work. So what is left is a contemporary mystery religion founded in the 1940s by a charismatic man, that borrows aesthetics from the popular idea of a witch, and combines a magical style in the Crowley tradition with western herbalism, western astrology, Masonic ritualism, and its own theology. And that's fine.

There's room out there too for grimoire traditionalists, cunning-man revivalists, catholic folk-magic, brujeria, santeria, pagan historical reconstructionists, and any number of other detailed traditions that aren't Wiccan. And that's fine too.

I welcome the idea of learning from the past rather than imposing romantic fantasies over it, but that doesn't mean the past is where everything of value resides. If you think religions relate to real things, rather than purely being a human construct, then those things have agency of their own, and exist in the present day. Authenticity, then, becomes about the strength of connection.

<comment><USER3> I heard it put this way: neo-paganism is 99% neo 1% pagan.

<comment><USER2> And reconstruction is about 50-50, because they do their best but archeology honestly doesn't know the answers.

<comment><USER4> I have a strong opinion that Indo-European polythiestic religions have a common mythical and structural framework. So it would be easier to revive any of them by studying and borrowing back from the vast sample of such religions

<comment><USER2> They have commonality of roots but they barely resemble each other.

To give an example, Dis Pater, Jupiter, Deus, Zeus, and possibly Tiw are variations of the same name and identity after many centuries of divergence.

</comment></comment></comment></comment></comment><comment><USER5> One of my favorite posts on such matters is Ortberg's listicle " Reasons I Would Not Have Been Burned As A Witch In The Early Modern Era No Matter What I Would Like To Believe About Myself And Would Have In Fact Been Among The Witch-Burners":

 _I would have named names, too. And I'd have been especially good at intuiting what names my interrogators wanted to hear (they would not have to torture or even threaten to torture me) – sharp-tongued gossips and independent-minded widows and all kinds of people who get described as "unruly" in modern academic essays. Throw them under the god damn Witch Bus. Does it disappoint you to hear this? I never asked you to have faith in me, Goody Watson._

[http://the-toast.net/2016/02/09/reasons-i-would-not-have-bee...](http://the- toast.net/2016/02/09/reasons-i-would-not-have-been-burned-as-a-witch/)

</comment><comment><USER6> So what is the utility of this article? It reads a lot like a sarcastic put- down of a group of people the author considers naive. I agree that modern witchcratf sounds naive and a bit silly, but haven't we had enough of internet put-downs of entire groups of people?

The author clearly has some valuable historical knowledge. She could have tried to engage with the targets of her snark, and help them see the errors of their ways. Instead, she addresses some third party that she invites to share in on the joke, that is on those dumb people who think medieval witches were pagan, etc. That just borders on an invitation to online bullying, and it's just wrong.

</comment><comment><USER7> Though not quite on point with TFA, to anyone interested in this type of stuff I highly recommend The Secret History of Western Esotericism podcast[0].

[0] [https://shwep.net/](https://shwep.net/)

<comment><USER8> I am a subscriber! And, for the readers, try Wouter Hanugraff's "western esoterism: a guide for the perplexed".

We are truly lucky to have such great scholarship

</comment></comment><comment><USER6> >> Many modern witches style themselves as goddess-worshippers, but in medieval and early modern witchcraft spells, the Virgin Mary plays a much bigger role. She is referenced far more often than any goddess.

I believe the Virgin Mary is considered to be an aspect of the goddess, like other female deities and divine figures: Aphrodite, Ishtar, Freya, Bast, Kali, etc. In that sense, there is no incongruity.

<comment><USER9> Because Catholicism isn't really Christian before Trent. The whole point of the article is that magic was conjoined to Catholicism not opposed to it. Saints are small gods. What it doesnt discuss is the way Erasmus and Luther and Calvin and ultimately the church itself reformulated Christianity in the process starting the witch trials.

</comment></comment><comment><USER10> I gotta say I don't get the article.

The paragraph with the quote by Dakota Bracciale about witchcraft being practiced by people who were outliers -- may or may not be true. But how does this claim impunity for magical attacks, as the author states? Some witchcraft was practiced by rich and famous people -- they wrote about it in books -- and some of them attacked people magically (or tried to depending on what you believe). What does being an outsider have to do with launching magical attacks? Does this parse through the bit about being arbiter of their own justice? It seems a bit presumptuous -- what do attacks necessarily have to do with justice?

Say I substitute Christian in for witch. "I will argue that modern [evangelical Christians in the US] are themselves prodcuts of the very globalized, commercial, urban and anywhere culture which they set out to resist, because rather than reacting against those trends, they are turning what might once have been a genuinely radical alternative into another form of self-care." I'd stand by that sentence.

One of the primary problems with the article is conflating Pagans who are pagan as a primary religious affiliation, goddess-worshippers, people dabbling in planetary magick, people who just want to make a nice herbal face cream that reminds themselves of some idealised quality, Wiccans, people who decorate with crystals (she doesn't even mention crystals!! Big business, folks!), etc. Moreover, I don't understand her wish to distinguish "spells" from "prayer". Yep, they're meant to do the same thing: concentrate the will and the heart on something. She seemingly admits that with her hail Mary give me a parking spot riff (which I too have used!). So why does she think this conflation of spell and prayer is going to upset the Oracle of Los Angeles?

It seems to me that the author simply doesn't know a lot about modern witchery and its variety. One internet witchy guru I've read talks reasonably often about "the queer witch Jesus"; the intertwining of Christianity and heterodox/local/pagan/witchy habits and belief systems is unavoidable to anyone with even a cursory knowledge of European beliefs and fairy tales. The author's portrayal of modern witches as denying this intertwining is simply ignorant.

And then there's the bit saying, witches historically didn't practice sisterhood, because other women accused them of being witches (? non sequitur). Follow it up with the claim that it's seers and healers who most often accuse other women of witchcraft. Ok. Could be true, could be false. Then "Any professional woman will understand that she and not her male colleague is likely to be the subject of accusations from below." I'm an almost 40 year old professional woman. This is news to me; I haven't really seen any accusations from below other than "she/he is an ineffective manager" and "he slept with that undergrad," which was true and also ignored by everyone ever. What am I going to be accused of? Ah -- like Hillary Clinton, I'll be accused of killing Vince Foster. The beginning of the paragraph though implies I should be accused of killing Vince Foster by a seer or healer. Hm. And then we swing to, "by contrast [...], the medieval Green Knight -- despite his appearance -- is not a baddie or an evil overlord." Where did the Green Knight come from?! How do we then get to Beowulf in the next sentence?! One paragraph that claims feminist solidarity is a joke among medieval witches that careens through Vince Foster to Beowulf without any argument made? Where is the editor for this thing????!!!! This is reading like one of the more poorly-written student papers I've graded -- use enough big words in grammatically-correct configurations and surely someone will think you're eloquent and/or actually making a point. It works fine if the essay is graded by machine [1].

I give up.

If anyone understands how Beowulf and Vince Foster relate to feminist solidarity, let me know.

[1] [https://news.ycombinator.com/item?id=20834379](https://news.ycombinator.com/item?id=20834379)

<comment><USER11> I fought very hard through that same paragraph as you did, and finally _think_ I figured it out.

The author is upset that modern witches are appropriating from Christianity the "Good vs. Evil" narrative. Calling Trump evil, or saying Hillary is in a satanic cult is equally lacking in sophistication in the authors view.

Pre-Christian paganism, was able to practice religion without framing everything in a binary Good vs Evil debate, and that appears to have been lost in the modern movement. The Green Knight and the Beowulf example are magical forces more closely resembling forces of nature, rather than evils that must be overcome.

Apologies if I am misrepresenting the argument. In my opinion the 'women hating women' element in the authors piece was not central to the argument they were making in this paragraph, and would have fit better in other places further down the essay.

</comment></comment><comment><USER12> I have no love lost for new-age fraudsters peddling magical nonsense, but it still feels a tad cowardly to focus your ire on modern self-styled witches for espousing ahistorical belief structures that recycle old material in ways that are at odds with historical fact but is more palatable to the modern masses when, across the country, there are protestant megachurches doing precisely the same thing but with orders of magnitude more adherents and orders of magnitude more political influence.

<comment><USER13> This is still a phenomenon worth examining. How is this cowardly? The author can't do anything about the IRS. What else is there to say about megachurches that hasn't been said?

<comment><USER12> I didn't say anything about the IRS and I didn't say the phenomena should be ignored. I think that the most impactful manifestations of the phenomenon should be the focus of study, on account of being the most impactful.

Cowardice seems likely when somebody ignores the high impact manifestation that enjoys popular support, choosing instead to lampoon the low impact fringe manifestation.

<comment><USER2> Could just be "this is in my ballpark, that is not".

Also going against contemporary American megachurch Christianity would require a very different kind of focus and approach. There are deep subtleties to it on a sociological perspective that are far more interesting than its extreme fish-in-a-barrel status theologically. Maybe that doesn't interest the author?

<comment><USER12> Maybe you're right. The impression I got was that the author picked a soft easy target, but maybe that's an uncharitable take.

> _Also going against contemporary American megachurch Christianity would > require a very different kind of focus and approach_

I'm not sure I agree with that though. The same method, pointing out conflict between modern espoused belief and historical reality, seems like it would be equally effective against both.

<comment><USER2> It's really not. Christianity is a rather uniquely vulnerable religion to getting rationalist holes poked in it because of its insistence on factual historicality of a particular set of events[1], and megachurch Christianity is a deeply weird, heretical offshoot that barely follows mainline Christianity, and it looks like you could blow barn-sized holes in it with a peashooter, because it's held together with ignorance and baling wire. You will note though, exactly how much historical impact this kind of attack has had, namely none.

Basically what you've got here is a cultural phenomenon dressed up as a religious one, borrowing some religious functions, taking over the public role of religion. But its foundations have a lot more to do with ingroup identity, shibboleths and the peculiar American take on the protestant work ethic. Trying to understand it theologically just hits a blank wall. You have to understand it as sociology.

([1] Other religions not of the same lineage shrug off this class of attacks. Disprove Shinto? Disprove what? It makes no historical claims.)

<comment><USER14> Christianity does not require insistence on "factual historicality of a particular set of events", or at least not disprovable ones. That's mostly a Western phenomena, to which American protestants seem particularly prone to the most extreme version of.

I think you can ultimately thank Thomas Aquinas for this movement. He was quite fond of a rational basis for God and repackaged the works of Aristotle for this end. But of course once you start down the road of adding rationalism to your religion then the whole mysticism of it can start to stand out to some. So some people started thinking it must be all literal and totally rational...

Eastern Orthodox Christianity still has no truck with that rationalism nonsense.

<comment><USER15> 1 Corinthians 15:14 (and context): "if Christ has not been raised, our preaching is useless and so is your faith" [https://www.biblegateway.com/passage/?search=1+Corinthians+1...](https://www.biblegateway.com/passage/?search=1+Corinthians+15&version=NIV)

Yes, there are recognizably Christian subgroups that disavow all historical claims (and reinterpret Paul accordingly), but mainstream Christianity has always affirmed the bodily resurrection of Jesus _and_ that (per Paul) this is essential to Christianity ... long before Aquinas.

N. T. Wright's "The Resurrection of the Son of God" is a very good read on this.

<comment><USER14> See my caveat that excludes facts that can't be disproven. An historical miracle cannot be disproven short of using a time machine.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> The problem with this article is that it seems to cherry pick the easiest examples of pagan identity to criticize and then simply rebukes them by pithy aphorism.

This makes it an extremely uninformed article. The mainstream witchcraft (i.e. wiccan) movements stem from Gerald Gardner's attempt to reconstruct Italian and British witchcraft traditions and turn it into something acceptable for modern audiences. Both his specific reconstructions and the problems with them have been well documented (see his own books and those of Valiente).

In many way what happened with modern witchcraft is similar to what happened with modern Yoga traditions (see Mark Singleton's book the Making of Modern Yoga), in that a few people tried to create mass marketable phenomenon by taking some old traditions and then creating a consumable package. Obviously this often comes with overstated claims considering the guru, authenticity, etc. Then it also creates identity movements where people create an identity around their new belief system.

As far as what various pagans did in the Roman empire and how many of those traditions were gradually eradicated by Christianity, some of those things are well documented and some are not, partially because of the presence of many non-recorded mystery traditions in ancient Rome.

As far as people choosing a "pagan" identity as a reactionary counter culture vis-a-vis a perceived mainstream Christianity that also clearly exists where Christianity is mainstream. In various forms it seems to have merged with other reactionary version of feminism.

<comment><USER17> What I find most interesting is the avoidance of any mention of drugs. It's a rather large omission from a historical perspective.</comment></comment>


In praise of... text files and protocols - <AUTHOR> http://blog.jgc.org/2012/04/in-praise-of-text-files-and-protocols.html <comment><USER4> So... for the one occasion out of a million where somebody needs to "debug" a piece of data, it's necessary to suffer the bloat of a text format for every other piece of data we transmit?

How about we just standardize on a binary data representation (eg. MessagePack), and use common tools to export/import to/from a human-readable format? Best of both worlds.

And, as an aside - why are we using XML? It's ok as a markup language, I guess, but as a container for data? We could hardly have picked a worse format:

It's _crazy_ verbose - even when compared to other text formats (eg. JSON). Compare:

      values: [1,2,3]

with:

      <values>
        <value>1</value>
        <value>2</value>
        <value>3</value>
      </values>

Its verbosity makes it hard to read, and hard to edit.

It has a poor mapping to the structures we actually use while programming - <USER2> has no built-in notion of arrays. It has superfluous node "attributes" that don't map well to common run-time constructs.

<comment><USER5> plaintext + gzip is preferable to binary.

The early adopters of XML saw their choices as semistructured text vs nice parseable XML. The third choice, creating grammars, was ignored.

Grammars for most configuration or data transfer or protocols are trivial. Certainly since ANTLR 2.x. Much more trivial than any equivalent XML-based parse and validation tool stack.

FWIW, ASN.1 is worse that XML. Not a defense of XML; all uses of XML are incorrect.

For my own work, I use a format descended from VRML that I call ARON (A Righteous Object Notation).

It concisely describes groves (trees annotated with key/values) and supports most commonly used datatypes. So it's a bit more concise that JSON or YAML and a lot more strongly typed.

Here's an example test file:

[http://code.google.com/p/aron/source/browse/trunk/test/cronk...](http://code.google.com/p/aron/source/browse/trunk/test/cronk/test1.aron)

I use ARON for all my own projects, as you can see, it's not really polished enough for others (yet). As this example shows, I mostly use it to loft Java object graphs. I haven't reimplemented VRML's prototyping (DEF / USE) functionality in this branch (yet).

<comment><USER4> >>> plaintext + gzip is preferable to binary.

I'm not sure I agree with you on that. You're imposing a load of extra CPU (and, I suspect some bandwidth) overhead where it's not necessary for all except the most infrequent cases, and you're inheriting all the weaknesses of text as a data format.

Plus, since your data is now gzipped, it's no longer human-readable on the wire. In order to read it, you need to pipe it through a decoder (gunzip) - why not use a sensible binary protocol, and pipe it through the decoder for that?

<comment><USER6> > In order to read it, you need to pipe it through a decoder (gunzip) - <USER3> > not use a sensible binary protocol, and pipe it through the decoder for > that?

I don't have your decoder. I have gunzip.

gunzip is not threatened by a patent. gunzip doesn't cause a Drama Meltdown. gunzip won't be a proven attack vector for remote execution exploits. gunzip does not require a contract in my hand or money in my bank. While your decoder is being debugged, gunzip will be live.

(To the tune of "The Revolution Will Not Be Televised")

<comment><USER4> Oh, I'm just advocating using a _standard_ binary serialization format like MessagePack that is far more efficient, can easily represent binary data, and has a far more obvious mapping to runtime data structures.

<comment><USER7> >"standard binary serialization format"

Mmmm, yes, good luck with that :)

<comment><USER4> A man can dream.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> This reminds me of the angst that came when Windows shifted from ".ini" files with clear name=value lines to the "registry", which paid many the bills of consultants, utility programmers, and "fixit-guys" via the fun that is Regedit.

+1 for more simple text files... and hey, devs: if you don't need a nested object format, perhaps even leave out the JSON or XML and just make a simple file...

<comment><USER9> JSON looks pretty good even if it's a flat list, so I don't see a problem there.

<comment><USER10> One annoyance with JSON as a config-file format is that you apparently can't put comments in it. At least not out-of-band comments:

[http://stackoverflow.com/questions/244777/can-i-comment-a- js...](http://stackoverflow.com/questions/244777/can-i-comment-a-json-file)

You can put in in-band comments, by defining a JSON format that has a bunch of '_comment' keys sprinkled through it, but that's annoying because you've got to design that in, and decide which elements deserve comments and which don't, and that's just a big hairy yak which sits there _daring_ you to shave it, practically _begging_ you to do a bunch of YAGNI up-front design of the comment protocol, and then even when you're done you still have to fret about how those keys might get misinterpreted by clients from now until the end of time. Even _human_ readers will have to intuit the the semantics of your '_comment' key ("oh, the computer never reads this, this is just for me!"), whereas humans generally recognize the significance of real, standard comment syntaxes like # or ;; or // or what have you.

Or you could use a JSON preprocessor that strips the comments, but that's a little trap that you build for yourself, because now your JSON is no longer universally-parseable by any language's JSON library. You could strip the comments at build time, but now your production JSON files on the server don't have the comments, and this is likely to be just where you need them - you put them there for the troubleshooter, who will find them at 3am when the server just crashed.

But I've sometimes used JSON for these things anyway. Life is too short for perfectionism, and it _is_ a nice clean format. Almost too clean.

<comment><USER11> You could try YAML as a superset of JSON with comments.

<comment><USER10> Indeed. This is pretty much my plan for the future.

</comment></comment></comment></comment></comment><comment><USER12> I've seen the value of text formats personally.

I work mainly on an iPhone project. In order to handle customers requests for this or that custom UI feature, I invented a tool that generates something like a simplified XIB file from an image and a chunk of CSV. I made the end result of the tool a text file that the iPhone code parses.

Working in text saved a lot of time. Since I invented my own tool, naturally there were things to debug and tweak in the results, but I could do that with a text editor and commit the changes as easily diff-able deltas in git. Although I work on iPhone code, everything also has to be implemented in Android - but it's no problem for the Android developer to use the text file since it's just text.

I've also written tools for migrating chunks of customer data from an old back-end system to a new one using the new server's customer-facing API. This was partly for dogfooding purposes, since the API was new and had very suspect stability.

I wrote the tools to generate text files where each line is a JSON payload that would be sent to the server. It made everything easier to debug - examining the payloads lets you distinguish between errors in the export tool and errors in the API. The text files themselves could then become test cases if there was a bug in the API, or be quickly hacked to contain correct payloads via find-and-replace if the export tool was wrong but we still needed the migration to finish right away.

<comment><USER13> I'm building a tool very similar to what you describe for Android right now. It involves a simplified XML description of the GUI which is sent over a network to an Android device, then "inflated" to actual GUI code.

Could you elaborate about your system a bit?

</comment></comment><comment><USER14> Also important - you can version control text files easily.

One of the more brain damaging einvironments I've worked in (oracle forms) uses binary format for source code. There is some utility app to change binary files into source code, but the primary files deveopment is using are binary.

It means there's no way to merge changes, no easy way to see what changed in which commit, simple text search in the whole project is hard - you have to open all files at once in IDE and search from there, and it's slow and awkward.

If text files are mediocrity - let's us wait before something better comes, because binary formats are not better.

<comment><USER15> What can be even worse that using binary files for development artefacts is storing code in the underlying database with no straightforward way to map to/from files.

</comment></comment><comment><USER16> One of the main goals of the Redis protocol was to try to find a point in the middle between text and binary, so the protocol is completely text based, but designed to also handle binary payloads without problems. So far we never saw the protocol as a bottleneck in Redis performances.

</comment><comment><USER17> I must disagree here. Once you define complex enough text protocol, there are ways to mess it up, or be incompatible with. Say what you want about ASN.1 and similar formats, but if you have a correct parser, you know the values are exactly the ones you expect.

Real-life example I kept running into was SIP implementation. (think someone knew only HTTP and decided to create internet telephony) First, you have line length when parsing - some implementations will limit it, some won't. If it's limited, some implementations will allow you to wrap the lines according to the protocol. But then others will say it's too complicated and unlimited line-length is the way to go. Then you have alternative names for sip uris: you can say "me" <number@ip>. Or just <number@ip>. Or number@ip. Or <number@ip>;some_parameter. Or someone else decides to go with <number@ip;some_parameter>. Some parameters have associated values, some don't - guess how many implementations don't support both ways...

Before you know it, there's 1000 conventions and everyone supports some minimal common core, but fails for at least one other specific implementation.

So you say - there's always structured text - json/xml/... But look at the example in the blog post:

        <dict>
          <key>Bounds</key>
          <string>{{25.4278, 76.3008}, {104.75, 91.8751}}</string>

So how long until someone comes up with implementation that doesn't use spaces between the numbers? What's the supported precision? What happens when one tuple is skipped? Do you have to parse exponential numbers correctly? How do you deal with duplicate keys in the dict?

I see the appeal in text formats and then remember... no - it's not the right way. JSON is a bit less-wrong than XML here, because you know what's a number, what's a string, what's a list. You'd probably do {'Bounds': [[25.4278, 76.3008], [104.75, 91.8751]]}.

Until someone comes out with a popular implementation that does case- insensitive matching for keys... and switches from 'Bounds' to 'bounds' in some version.

<comment><USER18> > JSON is a bit less-wrong than XML here, because you know what's a number, > what's a string, what's a list

<http://www.w3.org/TR/xmlschema-2/#typesystem>

<comment><USER17> True. But since it's optional, what is the number of people who actually use it, or parsers that care? It's a bit like with xml namespaces.

</comment></comment></comment><comment><USER19> Sadly, we're moving away from text protocols. SPDY and WebSockets are binary.

I've telneted many times to debug HTTP issues, and I wonder what am I going to do with SPDY problems.

<comment><USER20> note:

> Only use binary protocols where the performance is so sensitive that it's > worth the implementation and debugging downside

SPDY was created explicitly to improve performance.

<comment><USER19> There are surely huge wins from having single TCP/IP stream and gzipping all of it including headers, but I wonder how much difference binary format makes on top of that?

Maybe you save 100B per request? On a large page that makes 100 requests? 10KB. When you've got one stream that eliminates roundtrip time/TCP/IP slow start that's simply _80milliseconds_ on a basic 1Mbit broadband.

<comment><USER21> At Google's scale, you might want to multiply that by a trillion or two.

</comment></comment></comment></comment><comment><USER22> In some cases, yes, text is very nice to be able to read. But the only reason we find it easier than binary data is because we don't have built-in arbitrary binary parsers for the data.

When you read a text format or protocol your brain is doing the job that a good debugger or parser should be doing. Because these tools don't exist for your protocol, you think _"boy how handy that I can just parse this file with my brain! It's a good thing I learned <INSERT NATURAL LANGUAGE> and that this format/protocol was written with it, and that I have decades of experience groking it."_ If your only option for debugging is to open the raw format or protocol and pick at it by hand or try to eyeball it looking for some anomaly, you're just lacking a real tool to help you do the job quicker and more effectively.

Consider two separate formats: ELF and PostScript.

ELF is a binary format which is flexible and extensible. The data it comprises is almost entirely non-human-specific; you aren't going to read it because it's not for you, it's for the computer only. Yet a wide range of platforms have adopted it as their code file format. It could have easily been implemented in text, but what would be the point? Easier debugging? Plenty of tools exist to examine, dump and compare the properties of these files, making an inherent textual representative redundant.

Now look at PostScript. A (relatively) simple, readable text control language to determine the output of a complex document. The problem is PostScript is more of an interpreted programming language than a file format. Instead of using a method to craft a pre-processed document for the printer, the printer had to add a costly interpreter for the document format in order to produce documents on the fly. Early laser printers had microprocessors faster than the Macintosh computers that connected to them. Was it easy to grok, edit, debug? Yes. But it also made for a more costly device to handle all that built-in textual flexibility.

To me, the best way to tell if you need a text format/protocol or not is determining the humanity of your program. Will I need to interface with the internals of this on a regular basis? Might it become so complex and large in the future that a tool to debug it might become necessary? And how much work would it really be to just write it once and enjoy it forever?

</comment><comment><USER23> See also "The Power of Plain Text" in "The Pragmatic Programmer." Why people think binary formats are the be-all-end-all (or even the correct solution for the majority of problems) continues to confound me. But then again, I don't get NIH syndrome either, and many who insist that binary is better usually want to invent their own binary format.

</comment><comment><USER24> One thing that seems to be missed here is that text formats tend to be self documenting. That is, if I'm handed a blob of text vs a blob of binary, I am quite a bit more likely to be able to hack the text than the binary. This is usually couched in terms of being able to process the text form using standard tools, but it goes way, way beyond that. It matters most in the situation outlined above -- when third parties need to get at the format without having to rely on some provided tool.

Most protocols and file formats are _not_ documented sufficiently. Encoding data in binary (unnecessarily) is unfriendly because there is a huge difference between "ACK" and 0x06 when you're a third party looking at the data with no reference. Sure, you can probably figure it out given enough time, trail and error. Or perhaps beg the developer for specs, but it's not particularly efficient. Most developers don't have time or the inclination to publish a public spec for all binary formats used in their product.

You can make illegible text formats, of course, but I'd argue that then you're simply making a binary format that's confined to the range of 7-bit ASCII. Similarly, when the goal is to obfuscate (e.g. algorithm IP), binary formats work well to dissuade casual investigations.

</comment><comment><USER25> Text files are great, especially if one's the Unix shell skills to quickly manipulate and query them without having to write a program. But XML is often overkill compared to a simpler text format.

</comment><comment><USER26> Of all those improvements on which we spend our newly gained processor power and memory bandwidth each year, textual formats are probably one of the most efficient priorities.

The window where binary formats are absolutely required has shrunk down to the most low levels. With data formats we're basically where we've been with "scripting" languages for years: we can afford to start with the highest possible level and trickle down towards compiled code only where necessary.

Further, whenever I've ever had to create a binary format I've written a translator first. The translator is a program that can read the binary format and write the same information out in editable text form, and that can also parse the text and write out the equivalent binary. Then I only work and debug using the text format and just convert to binary when needed.

Usually this approach implies defining an API that you can use to construct the text or binary message. The API becomes automatically tested when I start by working with the text representation and when I finally move on to writing natively binary only (for performance reasons, obviously), I can trust that it works as well as during development. And I can use the API to generate text, too, so I can easily compare and see what's going on.

</comment><comment><USER27> The "text" part is important and has been under attack by all proprietary formats for a long time, but right now it is the "file"part that is under attack, by the cloudy services we are using more and more. I think it may be an even greater threat under individuals' control over their own properties.

</comment><comment><USER28> I have a great big hammer in the *nix text tools, and I try very hard to buy nothing but text nails.

</comment><comment><USER29> Off-topic, but still: Probably the reason JGC is having problems with CMYK colours is that he specifies them in RGB. Those are not the same.

<comment><AUTHOR> No. Those are examples from the samples that OmniGraffle give away. I didn't want to show the actual file I was working on.

</comment></comment><comment><USER7> I think about how great text-based protocols are every day, and every time I use them (multiple times per day.)

This is my biggest turn-off to Microsoft products and the Windows world. I actually like XML sometimes over undocumented JSON because it's so easy to figure out what everything does (in the case of succinct XML, which is admittedly rare.)

</comment><comment><USER30> Disclaimer: I am not a programmer

I've written little scripts to produce diagrams in DXF and in PS format for astronomical maps and in maths teaching. Often quicker, and neater, than plotting with a mouse.

Your typical end user hacks, nothing that would be of any use for published software.

</comment><comment><USER31> 100% agreed! Currently I'm trying to get access to a iTSM tool that uses HTTP as it's transport mechanism. It uses ActiveX controls to gather data into a grid-like mechanism.

As I particularly hate ActiveX, I have started reverse engineering what these controls do. So far so good, except that the format used for the data that the controls receive is an application/octet-stream binary format.

Now I've worked out how the format works, and by using JDataView I'm parsing the format. But you know what? Internet Explorer takes null characters in strings and will not go any further, even though ECMA-262 states that:

"The String type is the set of all finite ordered sequences of zero or more 16-bit unsigned integer values... All operations on Strings (except as otherwise stated) treat them as sequences of undifferentiated 16-bit unsigned integers; they do not ensure the resulting String is in normalised form, nor do they ensure language-sensitive results."

If they had passed the data back in something saner like JSON, or heck even XML!, then things would have be fine. As it is, I've decided to skip Internet Explorer as it's just not worth my time to get around this issue, and every other browser works fine with JDataView.

</comment><comment><USER32> Let's hear it for 1970s technology. May we ever be stuck with Unix mediocrity!

<comment><USER33> In the 1970s when a megabyte cost many thousands of dollars, there was much more reason to use binary formats than there is now. If it made sense then, it makes much more sense now.</comment></comment>


Ask HN: What's the golang web framework with the most momentum? - <AUTHOR>

<comment><USER2> None of them are actually too good IMO. They are either super opinionated or don't remove the pain points in common web dev.

Still waiting for something like Express in Go but I doubt it'll happen. I don't think anyone is serious about web development with Go based on what I see in the IRC channel and newsgroup on a daily basis, the lack of libs doesn't help either.

Edit: I want to add that I attempted to step up and learn Go as I made a web lib similar to Express. I had a little success but most of the time the people on the IRC channel weren't very helpful.

Most people didn't understand the need for such a lib (something like Express), it's just a bunch of people parroting "it's so easy in Go, you don't need a lib!" but these are people who never built a single web app in their entire life or going into attack mode saying anyone who needs a super light weight lib is some type of scrub developer.

It made me instantly turn my shoulder to the Go community and it'll take some pretty good libs to make me change my mind because in the end getting stuff done is the only thing that matters and Go + reasonable web dev isn't close to solving that problem yet.

<comment><USER3> I put together an experimental package based on express: <https://github.com/drone/routes/tree/master/exp>

<comment><USER2> Yeah, I looked at that one for quite a bit. It still leaves a lot to be desired compared to Express but it was a good start. I thought the project was dead since it hasn't been updated in a while.

I wasn't sure how to decouple the middleware functionality out of your lib so it could be applied to a different router.

</comment></comment></comment><comment><USER4> Based on Github stars...

Web.go (875 stars) <https://github.com/hoisie/web>

Revel (742 stars) <https://github.com/robfig/revel>

Beego (264 stars) <https://github.com/astaxie/beego>

Falcore (224 stars) <https://github.com/ngmoco/falcore>

Mango (160 stars) <https://github.com/paulbellamy/mango>

Golanger (159 stars) <https://github.com/golangers/framework>

<comment><USER3> I'd like to add a few more options. First there is pat, by the Heroku / the guy that created Sinatra: <https://github.com/bmizerany/pat>

if you need simple routing and REST url parameters this is a great library to use. I've found it outperforms many of the other routing libraries. The best part is that it (mostly) uses the standard net.http library and you don't need to code against custom APIs.

there is also Gorilla Web Toolkit: <http://www.gorillatoolkit.org/>

this library has been around for a couple years, and is often recommended on the Go mailing list. It recently switched from Google Code to Github, so it doesn't have as many stars as the others. It provides routing, secure cookies, sessions, and more.

I personally would start with Gorilla or Pat, because they are very thin layers on top of the standard net.http library with little abstraction ... in many cases the standard library works great. If you end up needing a higher level framework you can always switch to something like Revel.</comment></comment>


FeUdal Networks for Hierarchical Reinforcement Learning - <AUTHOR> https://arxiv.org/abs/1703.01161?href= <comment><USER2> [https://news.ycombinator.com/item?id=13806311](https://news.ycombinator.com/item?id=13806311)</comment>


Why are Kaggle prizes so low? - <AUTHOR> https://www.reddit.com/r/MachineLearning/comments/d50lr3/d_why_are_kaggle_prizes_so_low/ <comment><USER2> Why do people pay $1.00 for a lottery ticket that is worth 50 cents?

People and other animals react well to a variable reinforcement schedule -- we get pleasure out of gambling.

On top of it there is the prestige value of the prize. A $12,000 prize could get you a $120,000 contract out of the blue.</comment>


State of the Twitter, June 2008 - <AUTHOR> http://www.scripting.com/stories/2008/06/28/stateOfTheTwitterJune2008.html

<comment><USER2> Perhaps it's because I just don't "get it" but what's all the hubub about twitters downtime? You're not paying for the service, so you really have no expectation of service, hence I just don't get why people make such a big deal about twitter 'letting them down.' I guess what I mean is, it's not a big deal, and complaining about it isn't going to get them to fix it any faster than what they're trying to now.

<comment><USER3> I think it is because in 2008, we expect a certain level of uptime for web services. It's a good indicator of how the standards for web applications have increased over the years.

I remember about a decade ago when I first signed up for services like Hotmail or eBay, they would be down fairly often and for long periods of time, but it was understood and even accepted, since they were usually free services that did not have much direct competition. "Internet application" usually carried implications of slow, buggy, and unreliable service. However, in the last couple of years, it seems that we have to come to expect a near-constant uptime for the websites we use. It points to a general up trend in application quality and consumer expectation, which I think is healthy for both developers and consumers.

In the end, I think Twitter speaks to Ev Williams's brilliance in building an extremely sticky product, since people continue to Twitter despite the downtime and the deluge of blog posts from people criticizing them at every turn. It reminds me of how most people continued to blog on Blogspot even with its notorious bad pre-Google uptime.

<comment><USER4> > I think it is because in 2008, we expect a certain level of uptime for web > services.

Exactly. Google is free, but what if you couldn't access it one day a month? Sure, you could just use Yahoo, but people would still be steaming mad.</comment></comment></comment>


Practical Reverse Engineering Part 2 – Scouting the Firmware - <AUTHOR> http://jcjc-dev.com/2016/04/29/reversing-huawei-router-2-scouting-firmware/ <comment><USER2> Nice. I have an HG533 that I've just replaced. Exploratory hacking of its config file[0] got me to the ATP CLI via Telnet but I've been meaning to get into some UART pestering for a while now and I've got a few old routers lying around that I could practice on.

Unlikely, but is anyone able to recommend any way of connecting to the pins without having to drill or solder, my visual acuity isn't up to making a solid job of this and my soldering is frankly dire.

<comment><USER3> If you have holes in the PCB that would ordinarily need pin headers, you can temporarily populate them with spring-installed test point loops and appropriate clip-on probes. [1]

If you have headers you need to connect to, pre-made breadboard jumper wires are available with female receptacles that do the job nicely. [2] I still prefer solid wire, stripped, cut to length and cleanly routed over a multicolored nest for actual breadboards, but for temporarily connecting pin headers it's hard to beat the pre-crimped connectors.

1\. [http://www.digikey.com/catalog/en/partgroup/color-coded- test...](http://www.digikey.com/catalog/en/partgroup/color-coded-test- points/19725) 2\. [https://www.adafruit.com/products/266](https://www.adafruit.com/products/266)

<comment><USER2> Thanks!</comment></comment></comment>


How to disable "one more minute" on Screen Time? - <AUTHOR> https://discussions.apple.com/thread/250648426 <comment><AUTHOR> I wonder how Apple Screen Time or Google Family Link passed any QA test.

<comment><USER2> My brother showed me a while back that he could reset his screen time on an app by deleting it and redownloading it from the App Store. It's incredible how badly designed this feature is.</comment></comment>


Gitbooks has terrible support and product is buggy alternatives? - <AUTHOR> I've decided to use Gitbooks for a project, but I have constant Github sync issues. I've been ignored by support for 1 week. Every time I manage to get in contact with somebody they keep repeating that "well you initiated contact during the weekend so that's why our response time is long". They seem to forget today is thursday, which is well into the week...
Anyway, I need to absolutely find an alternative as I don't see any reason to use this garbage.
Is there anything out there that is a WORKING Gitbook essentially? <comment><USER2> It's also outrageously expensive if you are a small team. $40+ Per month is the lowest subscription. I now use Wiki.js which isn't nearly as polished but is free and promising

</comment><comment><USER3> Highly recommend Docusaurus, published to Netlify. We use it for the Redux family of libraries (Redux, React-Redux, Redux Toolkit), and have been very happy with it.

</comment><comment><USER4> just run your own, it's not that difficult. Things like [https://docsify.js.org/#/](https://docsify.js.org/#/) are very easy to use and you can host them on Github pages for free.

</comment><comment><USER5> I've been using honkit, which is a gitbook fork. [1] [https://github.com/honkit/honkit](https://github.com/honkit/honkit)

Docsify has a very nice UI, but never used it.

</comment><comment><USER6> I use [https://www.softcover.io/](https://www.softcover.io/)

Fantastic support and it works great.

</comment><comment><USER7> I'm a fan of Hugo and the Docsy theme</comment>


A black engineer's take on why diversity matters at startups - <AUTHOR> https://www.lever.co/inside/a-black-engineers-take-on-why-diversity-matters-at-startups <comment><AUTHOR> Lever (YC S12) Founder and CTO here.

Just want to thank Leighton for putting himself out there with this post.

If anyone has questions or comments about how we approach diversity and inclusion for the Lever team, we'd love to share more. We're by no means perfect, but I feel incredibly lucky to work with our team every day.

</comment><comment><USER2> Leighton here and I'm the subject/editor of this post. I'm totally down to answer any questions anyone has.

</comment><comment><USER3> I tried to read this on my i-phone and all I see is the company logo, the hamburger icon, and a white screen.

<comment><USER2> Unfortunately our blog is not mobile optimized. Maybe my LinkedIn post is easier to read on mobile? [https://www.linkedin.com/pulse/black-engineers- take-why-dive...](https://www.linkedin.com/pulse/black-engineers-take-why- diversity-matters-startups-leighton-wallace)</comment></comment>


A Twitter Client with brunch (backbone, coffeescript, …) - <AUTHOR> http://blog.blossom.io/an-update-on-brunch-0

<comment><USER2> Anyone have any experience with brunch? Is it better than e.g. SproutCore/Cappuccino?

<comment><AUTHOR> I think Jeremy has a good answer regarding the different scopes of backbone and sproutcore <http://documentcloud.github.com/backbone/#FAQ-rias>

One aim of brunch is to provide more structure and good documentation about useful practices and patterns of backbone apps. I think while the stack is much simpler compared to something like sproutcore and cappuccino there are many (even rather complex) apps that can be built with ease.

It basically boils down to your preferences. I personally love html & css and prefer to have tight control over the look and feel of my application. I prefer easy to use bottom-up tools like flask and backbone over 'more sophisticated' frameworks like rails, django, symphony, sproutcore et al.

<comment><USER3> this framework opens up more possibilities. I'm planning to use it with flask for my web

</comment></comment></comment><comment><USER4> Hmmmm, the connectED button is a bit misleading but worth a look anyway.</comment>


Open-source and crowd-sourced book listing - <AUTHOR> https://mustread.tech <comment><USER2> Strongly agree with the high rating for Designing Data Intensive Applications. It's a fantastic book that covers most of the important principles in architecture.

I wish this website had more filters. I'd like to filter out books with fewer than 10 reviews. As it is right now, it's a bit noisy.

</comment><comment><USER3> I am a bit sad that you slap your own Amazon affiliate tag on the outgoing links. Crowd-sourcing for your own monetary benefit is quite meh in my book.

Please consider following a model like [https://www.bookzilla.de/](https://www.bookzilla.de/) who forward 100% of their affiliate income to the Free Software Foundation. Maybe you could donate to the many FOSS projects your site builds upon?

</comment><comment><USER4> Why is there an NLP book on the list (on page 5)? And no not natural language processing but neuro-linguistic programming.

I read a bit about NLP on the train a couple of years ago, did some research and came away with the verdict "pseudoscience". Would be interested to hear why it is considered relevant for developers/what I'm missing.

Also I see a few OOP books, all of them great, but I think my favorite to this day is still "Object-Oriented Software Construction" which is not on the list :)

<comment><AUTHOR> Hey! NLP book is under communication – it's a great communication advice. Maybe other books are pseudoscience, I don't know.

You can contribute missing book here: [https://github.com/sizovs/mustread- data](https://github.com/sizovs/mustread-data)

</comment></comment><comment><USER5> Effective Java is somehow rated higher than Clean Code.

<comment><USER2> Have you read Effective Java? I'm not fond of Java but Effective Java is a good book. Can't speak for others but I learned more from it than Clean Code.

<comment><USER6> Completely agree, I found Clean Code highly overrated, Effective Java and Java Concurrency in Practice teach more valuable lessons, even not for Java developers.

<comment><USER2> +1 on JCIP, although it's a bit out of date. The best practices for Concurrency in Java involve CompletableFutures and it's lambda based API.</comment></comment></comment></comment>


Ask HN: What do you recommend for optimization and profiling? - <AUTHOR> I'm writing an app from scratch and I'd like to pay attention to places where I can optimize and profile things. So far I converted a few important functions to SIMD and wrote my own algorithm for another. The other day I got a tip on branch prediction and realized there's more I could learn.<p>Do you have any recommendations for profiling or optimization? <comment><USER2> You know premature optimization is the root of all evil ;)

Personally, I do optimization every now and then, when I see bottlenecks and I see that it hurts the UI. Then you run some profiling tools and optimize those hot paths.

Optimizing from the get go will probably end up with you optimizing too much and the benefits will likely be invisible (and worst of all, optimizing will surely take quite a bit of extra time, and you can also end up with buggier code).

Having said that, I use dotTrace from JetBraints. It's for .net

If you expect your project will be complex, I would advise against C/C++, since that will complicate stuff even further (note: I've actually done 13 years of C++, so I do know what I'm talking about). I would recommend C#/F# - you'd be waaay more productive there.

</comment><comment><USER3> Do you have some more detaile about your app?

I use perf, sysprof, trace32, visual studio profiler for profiling, but this highly depends on your environment.

These assorted links might be interesting to you:

\- [https://github.com/Kobzol/hardware- effects](https://github.com/Kobzol/hardware-effects)

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

\- [https://godbolt.org/](https://godbolt.org/)

\- [http://igoro.com/archive/gallery-of-processor-cache- effects/](http://igoro.com/archive/gallery-of-processor-cache-effects/)

</comment><comment><USER4> For windows I use 2 C++ profilers (memory and speed) from [https://www.softwareverify.com/index.php](https://www.softwareverify.com/index.php)

I like to memory profile on a regular basis. It a is lot easier to catch and fix a memory leak if you discover it soon after you've introduced it.

</comment><comment><USER5> Anyone have experience with coz? The talk made it seem brilliant, but I haven't been able to make it work.</comment>


Is apple turning it's back on creatives? - <AUTHOR> http://www.technologyreview.com/computing/39925/?nlid=nldly&nld=2012-03-21

<comment><USER2> I think this also feeds on the question of the recent article that was released showing that there is no new Mac or OSX team leader - maybe showing that the new version of OSX will be primarily iOS like. Do you think that Apple is shooting for a system where they control the rules on all platforms and the developers _cough_ minions _cough_ work within the setup realm of Apple?

It seems somewhat sinister, but after what they've done with the controlled iOS environment, I don't see any reason why 11.x won't be restrictive.

I do agree, in the case of the article. It think Apple is so powerful that they don't need to worry about being creative, because their role in the world defines innovative thinking.</comment>


How not to apply for a job - <AUTHOR> http://www.37signals.com/svn/posts/1088-how-not-to-apply-for-a-job

<comment><USER2> They complain, "We've received applications from people spelling 37signals as '37 Signals'"

I find this pedantic in the extreme. It's not the applicant's fault that the company struggles with standard English. They can choose their employees as they like, but this doesn't seem to be in their own best interest. Harshly judging and then publicly chastising applicants who might be trying to make their cover letter grammatically correct might provide a temporary ego boost, but it does little to help the business.

<comment><USER3> I had to re-read it just to make sure I understood that they're really so anal as to care if people say 37signals vs 37 Signals. Pretty damn pretentious.

<comment><USER4> They care about attention to detail. They obviously want their job applicants to care too.

I always make a point of checking the preferred spelling of a company or product name when I write about them - probably because I worked at Yahoo! for a year and you really get the importance of that ! hammered in to you (I also have an easily mis-spelled surname).

</comment></comment></comment><comment><USER5> From the comments:

        Your book is actually copyright "37 Signals, LLC ". Seems
        a bit harsh to dock people on how to type the name if you
        guys aren't 100% consistent with it yourselves.

<comment><USER6> "37 Signals, LLC" may be the legal name, while the preferred branding is something different. (Their preference is pretty clearly "37signals" on their homepage, much like the lowercasing in "eBay" and even "craigslist".)

A _designer_ should be very sensitive to such presentational choices.

</comment></comment><comment><USER7> This mentality is frequently at odds with how companies find the best candidates.

It presumes that you, the company, have this great and wonderful thing to offer some lucky individual, the candidate. The candidate, gracious for even the opportunity to apply for such a choice offer, spends hours proofreading and otherwise perfect his or her resume and cover letter.

What this ignores is reality. Often the people you want to hire couldn't care less about sending you a resume to prove to you why you are worth their time. They have got better things to do -- and probably a good job that already pays them quite well, thank you very much.

I'm nitpicking a bit here -- obviously it pays to be professional in your communications, no matter what the circumstances. But it's an exceedingly dangerous mentality, particularly for companies operating in our space, where good talent is quite scarce. 37 Signals (oops! I mean "37Signals") can get away with it probably, because they are so well known. Doubtful whether your startup can...

Judge candidates by what they will be doing for you, not by arbitrary weed out criteria like getting your company's product names right.

<comment><USER8> _(oops! I mean "37Signals")_

I'm pretty sure you mean "37signals".

</comment></comment><comment><USER9> I'll summarize the article for you (312 words):

when applying for a job, check spelling for the company and its products names. We don't want to be grumpy, but... we are! Kthxbye.

<comment><USER10> I'll summarize it further: Let's pick on obscure errors to get this blog posted on as many websites as possible to generate traffic.

</comment></comment><comment><USER11> From their product blog in May 2008:

"Each of the 37 Signals products comes with a free trial and depending on the size of your organization and project needs, some of the solutions are free. You just have to give them a try."

[http://37signals.blogs.com/products/2008/05/4-great- tools-t....](http://37signals.blogs.com/products/2008/05/4-great-tools-t.html)

<comment><USER12> That's a direct quote from a customer, not their own copy. I think the problem isn't that they want their job applicants to be crazy about details but the fact their company name isn't very easy to spell. They chose unconventional spelling presumably because it looked nice, but people who recall the name are only going to remember the name, not the spelling.

</comment></comment><comment><USER13> It sounds like they have their attitude wrong. When I apply for a job, it's "why would I want to work for you", not "why should we hire you". They are acting like 37signals is the only place a person would ever want to work, and that they are doing you a favor for hiring you.

Getting hired is not a favor. It's a mutually beneficial business relationship.

<comment><USER14> It is a favor in the sense that the company is taking the bigger risk. If you turn out to be a bad employee, it is costly to get rid of you, and the costs of finding a replacement are significant. Add to that the lost opportunity cost of being short-staffed and the costs add up.

I'm guessing that 37signals has 10 or so employees. At that stage they can't afford any bad hires.

Considering it's their money and their company that's at stake, I can't blame them for being careful. They're not acting like they're the only place any person would ever want to work, they're acting like they can't make any mistakes. So they have to be extremely careful, and reject everybody who isn't perfect.

</comment></comment><comment><USER15> Back in the day, by father worked in recruitment for a rather large place that got many many more applicants per jobs (like most places I guess, but this one would employ several 100 new people per year with thousands of applications per recruitment round).

He told me they used spelling mistakes to filter applicants - more than X (cannot remember what X was) typos in the form and you were cut - harsh, but somewhat fair at the same time. Yes they probably lost some good people, but probably many more bad ones - all recruitment is like that, there is always someone who should have gotten in that doesn't unfortunately.

He was not recruiting IT or even degree level folk either ...

</comment><comment><USER16> Am I the only one who is kinda bugged that everyone is getting hung up on the "37signals vs. 37 Signals" debate, both in HN's comments, and SvN's comments?

Look - that wasn't the point of the article! IMHO, the point of the article was to do some research, try your best, and not come across as shoddy. As a former hiring manager, I can attest to the sometimes shocking lack of attention to detail people have when applying for a job. You are sometimes competing against literally hundreds of other applicants, and people reviewing the resumes don't have a lot to go on. Just make sure you try your hardest and do your best if you want to be considered for the position.

And I didn't come away with the feeling that 37s would exclude someone ONLY BECAUSE they put a space between 37 and signals. But they do count it as a negative mark when reviewing a pile of 80 applications.

If there are 10 interview slots, and you and one other applicant have identical resumes and are competing for that 10th slot, and it's down to you and that other applicant, the spelling of the company name just _might_ matter.

Of course, everyone here is an entrepreneur and not really applying to corporate jobs anyway, right? ;)

<comment><USER17> This seems to be about the only reasonable comment on this page, and yet the ones that are getting upvoted are the ones that are making excuses for mediocrity and criticizing 37signals for using attention to detail as a hiring criterion. (I can't upvote yours -- I lost my vote months ago when I downvoted all 20 or 30 copies of a multiply-posted comment, which the system interpreted as karma-bombing.)

I hadn't believed news.yc was really headed downhill until I saw the comments here. If "details don't matter" is really the winning view, lolcats and "we'll do it live" post chains are probably not too far behind.

(Edit: I just noticed the reason the parent comment is being ignored is more than likely just a timing issue.)

</comment></comment><comment><USER18> slightly pompous. Most hackers probably don't use word or have spell check handy. (I use VI or Textpad). When I send a resume, it is usually a simple.txt file, and I noticed I had a misspelling.

I went and did a spellcheck online, and noticed two errors, or recent edits. I fixed them, but I already sent it somewhere. If the company doesn't want to consider me b/c of these two minor errors, then it is their loss.

<comment><USER14> When you're considering somebody for a position you want to make sure they fit in well. And if everybody at the company has an eye for detail, and habitually spellchecks all internal and external communication then you wouldn't fit in. After all, if people don't spellcheck their resumé they're definitely not going to spellcheck casual emails.

Also you have to give the impression that you really want the job. Hiring costs a lot of money, so if they think you might jump ship after 6 months, you're no hire. Sloppy writing and no personalized letter indicate that you don't care for the job or don't really need it.

Add the risk of the false positive (money and hassle) to the equitation and you become a clear no-hire.

<comment><USER18> I still don't get it how spelling error = bad hire. I probably might have small gramatical lapses, but that doesn't make me a bad engineer.

Keep in mind that not everybody knows English natively. I was born in a different country, and know three other languages, and it is common to say a word, and the real meaning is something different from what I think it is.

I always spell behaviour, with the U, and word always get is a misspelling, which obviously is not.

As I said, I hope a that a future employer is able to look past superficialities, and get to the core if I am a good engineer, and fit for their culture.

At my previous Coorporate Job (big finance company), everybody had to dress well (collared Shirts all the time), and your resume had to look good, be formated right, yet the engineers that worked there were two notches down, both in quality and quantity of the work, from the current company where I work now, where everybody dresses casually, people have less formalities and have the "Less b.s. and let's get things done" attitude.

Obviously people that care about "looks", and appearances, would not be comfortable at this place.

Plus, at work I have both word, and Automatic spellcheck on emails. Yet gramatical errors are almost inevitable for a foreign born, still this doesn't make me a lesser engineer, or a lesser hacker.

<comment><USER14> A spelling error can be a superficiality, but it can also be a symptom of an underlying problem: sloppy thinking.

And sloppy thinkers generally make for for poor programmers, because they keep making the same trivial mistakes, keep breaking the build, and so forth.

There are, of course, many people who are careful programmers but sloppy writers. The question is, should the company take that risk? A large company probably can afford to take that risk, smaller companies probably can't.

And if programmers make spelling mistakes in function/variable names, then yes, I'm afraid that makes them lesser engineers.

</comment></comment></comment></comment><comment><USER19> "It presumes that you, the company, have this great and wonderful thing to offer some lucky individual, the candidate."

No it doesn't.

We're just asking you to spell or name, our product names, and everything else right. That's not a tall order, it's basic writing etiquette. This is your job application. It's your first impression. Spelling is important.

If you can't get that right, or don't notice that it's wrong, then I don't think you are paying attention to the kind of details that we think are important. Spelling, writing, paying attention to spaces, characters, letters -- those things are important to us.

It's not pretentious of an employer to expect someone to check their spelling -- especially the spelling of the company name. That's a basic writing skill. If you are applying for a job you better believe it matters to the employer. Ignore that advice at your own risk.

<comment><USER20> Then how do you explain your (as in 37signal's) own lapses?

<comment><USER20> Never mind - I just noticed your reply on 37signals.com to someone else, which I felt was a bit of a cop-out given the emphasis you placed on the company name. If it was that important, I would have thought you would get it right on things like your incorporated company name or public blog.

JF 16 Jun 08

Ben, we're all about making mistakes. We make them all the time. But making a spelling mistake on a job application is the one place you shouldn't be making a spelling mistake. And I can promise you this opinion isn't unique to 37signals, we've just chosen to talk about it publicly.

We will likely be sharing part of the designer hiring process once we've successfully hired someone. It wouldn't make sense to share a resume with someone we're considering if we haven't hired them yet. Someone could lose their current job that way. Or we might be setting unfair expectations for someone.

</comment></comment></comment><comment><USER11> Yeah to be honest I sort of feel sorry for whoever gets the job.

</comment><comment><USER21> If the job were public relations or something, this would be understandable to me. But I've known many people who were extremely competent in a field, but didn't really care about things that didn't interest them (such as job applications). You should look at these people's portfolios, not dismiss them over some assumption about how their trivial spelling errors speak to their inner character.

If these job applicants have a responsibility to be professional in their presentation of their skills, why don't you have a responsibility to be professional in your appraisal of their applications? These are completely petty reasons to drop a resume, akin to "they showed up at the interview without a tie."

</comment><comment><USER22> Attention to detail is important.

</comment><comment><USER23> 37 signals are getting a little bit arrogant...just, just a little bit.</comment>


Show HN: Flash for Gmail (superhuman like command panel) - <AUTHOR> https://helpninja.com/flash/ <comment><AUTHOR> Hey all, We just went live to Chrome Store with [https://helpninja.com/flash/](https://helpninja.com/flash/) Cmd/Ctrl + k to get your job done inside Gmail. The idea is to increase productivity and not remember shortcuts. We are also thinking to bring this to Trello, Asana, etc. Do you think a need is present in these apps? I would love all insightful feedback on this from this awesome community.</comment>


Hack 'n' Slash now 1.0 and Extra Hackable - <AUTHOR> http://www.doublefine.com/news/comments/hack_n_slash_now_1.0_and_extra_hackable/

<comment><USER2> I have never heard of it but watching videos it seems to be a puzzle game with an interesting game mechanics: you can "change the code game is executing" right inside the game.

<comment><USER3> It's not a facade or a gimmick, either; they ship a lua decompiler and the hacking UI is based on decompilation/recompilation of the game scripts.

<comment><USER4> Is the portion of the code the user can hack being run in a separate sandboxed execution context, or can the user really change _everything_ written in Lua should he try hard enough...?

<comment><USER5> Brandon (I think that's his name) actually went out of his way to avoid sandboxing and deliver the premise as authentically as possible. He's talked about it in a few videos in more detail - [https://www.youtube.com/watch?v=1FgC_284eNU#t=88](https://www.youtube.com/watch?v=1FgC_284eNU#t=88)

</comment></comment></comment></comment><comment><USER6> grim fandango was written in lua? :O

<comment><USER7> ...and Far Cry, and Baldur's Gate, and WoW, and Angry Birds, and...

Lua is ubiquitous in game programming (as a scripting language), see e.g.: [http://en.wikipedia.org/wiki/Category:Lua- scripted_video_gam...](http://en.wikipedia.org/wiki/Category:Lua- scripted_video_games) or browse through some game programming related job openings.

<comment><USER8> I wish is a little bit more ubiquitous everywhere else. It's a great language and would have been a far better Javascript!

<comment><USER9> I always liken Lua to "JavaScript, with all the bad parts removed".</comment></comment></comment></comment>


Updated: US Customs Notice of Inspection of Electronic Devices Policy - <AUTHOR> Tear-sheet/summary: https://www.cbp.gov/sites/default/files/documents/inspection-electronic-devices-tearsheet.pdf
Comments from an attorney who watches these issues: https://blogmsk.com/2017/10/03/tips-for-traveling-with-electronic-devices/
Excerpt:
On the September 18, 2017 Federal Register notice (see 82 FR 43556), U.S. Citizenship and Immigration made clear it will now routinely require those applying to enter the U.S. to provide social media handles. As such, the obvious starting point for these tips must be a reminder that Customs and Border Protection ("CBP") officers may require arriving travelers to provide the unlock code to their electronic devices and user names/passwords to gain access to programs, including social media accounts, so make sure all your programs are closed when you cross the border! The contents on your devices can be examined, and that is true whether or not you are a U.S. citizen, and regardless of your profession. If you are selected for such an inspection, you can expect this two page summary may be handed to you. <comment><USER2> This reinforces what people have been suggesting for a while: That if you travel internationally, you should probably travel with a sufficiently-wiped blank computer if any.</comment>


Ask HN: You can't keep porn from teens, so maybe give them "safe" porn? - <AUTHOR> I don't have any kids, but I sometimes think about whether I'd try to shelter a pre-teen from things like internet porn. I doubt in 15+ hours when I have a pre-teen I will be able to. I would definitely have "the talk" and discuss how most pornography is not realistic of most people's sex lives (and that it often shows degrading acts one of the actors doesn't appear to consent to).<p>But maybe it's worth considering providing them with "safe" porn - stuff that shows non-scripted, non-degrading, consensual sex acts. The idea is to give them access to stuff that doesn't objectify women so explicitly or role play things like non-consensual or coerced sex, which seems very prevalent. I can't keep them from whatever niche porn they want to see on their eyeball implant iPhones in 15 years, but maybe I can help provide them context to understand that what they're seeing is unrealistic and isn't how women should be treated without their consent. <comment><USER2> You lost me on your opener LOL ..."I don't have kids..."

I have three.

You can't "shelter them" from drugs or guns? Should we give them those as well?

That's just what the world needs.

</comment><comment><USER3> Soo... you want amateur porn.</comment>