The Erdős paradox: When a mathematical number and Wikipedia collide - <AUTHOR> https://blog.wikimedia.org/2018/02/27/erdos-paradox/ <comment><USER2> Just playing devil's advocate here, but with the numbers given in the essay (10 out of 250 male entries tagged for deletion vs 2 out of 12 female entries) I got a p-value of approximately 10% [1]. By most criteria this wouldn't qualify as statistically significant. This doesn't immediately disqualify the entire essay, but the claim that women are 'over four times more likely to be deleted' is somewhat dubious.

[1]: [http://www.wolframalpha.com/input/?i=1+-+(1+-+12%2F262)%5E12...](http://www.wolframalpha.com/input/?i=1+-+\(1+-+12%2F262\)%5E12+-12+\(12%2F262\)\(1+-+12%2F262\)%5E11)

<comment><USER3> There are many things that are not statistically significant, but still interesting when it seems likely* that a larger sample would give a similar result.

 _Only 17.47% (as of 26 February 2018) of the English Wikipedia 's biographies are about women: [https://en.wikipedia.org/wiki/Wikipedia:WikiProject_Women_in...](https://en.wikipedia.org/wiki/Wikipedia:WikiProject_Women_in_Red)

EDIT:_ I rechecked the quote from the article about the likelihood of deletion and found it to be " _in this cohort_ of Erdős Ones, the pages for women were over four times more likely than men's to be nominated for speedy deletion." (my italics). FYI.

<comment><USER4> That % isn't really surprising considering the patriarchal history of the world. You couldn't possibly get to 50% unless you over-represented women in the near present or adjusted notability standards.

However if it were 17.47% for current times, that would be a significant bias that needs to be addressed. It still might not hit 50/50 given reduced opportunities for women still today, but it should be moving ever closer.

<comment><USER5> The fraction of women with Erdos number one is already very small, no reason to assume that they are less important than corresponding man with the same Erdos number.

</comment></comment></comment></comment><comment><USER6> This is the essay the interview references: [https://medium.com/q-e-d/whos- important-a-tale-from-wikipedi...](https://medium.com/q-e-d/whos-important-a- tale-from-wikipedia-a370dc6ef078)

</comment><comment><USER7> > "were over four times more likely to have their importance questioned" and > their pages marked for speedy deletion

Deletionists of Wikipedia are just destinied to fall on their face, and embarrass the whole project.

Deletionism is the single big thing that makes Wikipedia somewhat sour in my view.

<comment><USER7> Here, I have a Venn diagram to illustrate a point:

[https://www.meta-chart.com/share/how-wikipedia- deletionism-w...](https://www.meta-chart.com/share/how-wikipedia-deletionism- works)

Two important takeaways are: A lot of stuff on Wikipedia just isn't encyclopedic. For example, there's a lot of sports trivia about obscure teams and local leagues. Such data deserves structured storage and not Wikipedia, and I just don't feel "2013 Richmond Raiders season" is more important than any single matematician who worked with Erdős.

Second takeaway, a whole world of topics is just not ever noted by Wikipedia. For examples, you can have whole branches of local music scenes ineligible for note because every single artist fails to "be mentioned in a paper made of paper" (in 2010s, seriously) or "sell 3k discs made of plastic and foil" (again, this is in 2010s).

If there's some kind of consistent policy I definitely don't see the value of it.

<comment><USER8> The justification for the policy I have heard is that people should be able easily verify the information.

If it's in the New York Times you can probably believe that it's not been created to game Wikipedia, the same cant be said for a random blog.

I regularly see people complain about this without mentioning how they would solve this problem.

<comment><USER7> Most of papers made of paper are absolutely not available for verification. Ditto for research articles behind paywall or just cited as paper sources. You could invent dozens of such credible sources with no chances for anybody to ever check.

I can understand "we could not verify this so we are deleting this article", but not "we speedy deleted this article without checking anything". The latter has no excuses except for obvious commercial spam.

<comment><USER9> The correlation between notability and verifiability certainly starts to break down quickly once you get past easily accessible, well-known, and well- regarded sources. No one is going to chase down paper copies of obscure magazines, newspapers, or out-of-print books to verify some statement, especially if it's not highly questionable for some reason. The system does kinda work because most people aren't outright inventing fake references to game the system.

<comment><USER7> What would be your criteria for the system failing to work?

What can go visibly wrong if Wikipedia would cover different subset of obscure topics than it does currently?

We're not talking about faking facts in well-visited articles, since a) that's not what is being discussed, and b) that has been done anyway, getting into news multiple times.

<comment><USER10> Why does HN have a downvote button (for prolific users with karma>500, anyways? (and why doesn't facebook?)).

<comment><USER11> For sorting comments on usefulness. Of 10 toplevel replies to a post, which should be displayed first? The highest-voted/most-recent one. Also spam.

<comment><USER10> spam, is exactly the problem?

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> This is not good for the woman in science campaign.

You are not notable just because you had at minimum one collaboration with a famously notable person. She seems to be dissatisfied that she can't just use the Erdos number as an argument alone to add thin bios for every female collaborator he had. And then goes on to complain that there perhaps exist equally unimportant woman who would not fit into this catagory "just because they didn't collaborate with Erdos" but just as in-notable as the not notable collaborators...

Stop judgeging notability by Erdos number if that is you singular claim to fame then the correct action is speedy deletion independent of sex.

</comment><comment><USER13> The article has it backward. As a staunch deletionist, I can attest that articles about non-notable women are much harder to get deleted than articles about non-notable men.

<comment><USER14> Cool, so have you gone through and deleted all the articles about individual software engineers? Because I know of numerous.

What is your definition of "notable"? I assume if you can produce stats you have objective criteria?

Have you deleted "local hero" articles?

What is the criteria for relevance? I recall there being numerous studies in the past demonstrating articles about important events and people in non- western environments being deleted.

<comment><USER13> The notability criteria are site-wide, not personal and depend somewhat on the source of notability of a given subject (e.g. different criteria for academics than for most other living persons). Check out [1] if you are genuinely interested.

Actually, I think there is a significant bias against things that lack sources in English.

[1] [https://en.wikipedia.org/wiki/Wikipedia:Notability](https://en.wikipedia.org/wiki/Wikipedia:Notability)

</comment></comment></comment><comment><USER15> I'd like to see a bit more analysis past the Erdös number. What could other (measurable) notability indicators be. Number of publications, length of scientific career, number of citations, number of people they taught, ...?

Her analysis here seems very shallow and already operating from the preconceived mindset that this must be misogyny. I'm not saying it's not, but the argument is weak.

<comment><USER14> Ok, so the fundamental issue the blog references is "women who worked with Erdos are significantly more likely to be tagged for early deletion", that statement is backed up by the actual stats.

So the question is, what is the cause for this discrepancy?

It is possible that the women who worked with Erdos were much more likely to be irrelevant than the men -- by a factor of 4 -- in which case this would be reasonable.

The alternative (her claim) is that they were marked for deletion because other editors default to assume that women are less relevant than men, unless proved otherwise.

My question is: are the people who are tagging these articles for deletion field experts -- mathematicians or whatever -- who can actually understand the relative importance of individuals, or are they running through a checklist? If they're just running through a checklist does their checklist just reinforce old stereotypes? For example, old newspapers would not bother interview women engineers, scientists, etc, and even if they were historically women were absolutely kept out of those fields, so even if interviews were random, statistics would ensure low public visibility. Hence relying on the existence of published biographies is not sufficient, and is arguably less relevant than the Erdos number.

Does it treat an Erdos number as being proof of importance in some cases, but not in others? If your default view is men are real mathematicians, and women are not, it is easy to interpret a low Erdos number as evidence of importance (it confirms your belief of relevance), but if you start out with the converse -- this person isn't relevant or important -- then it's just trivia.

<comment><USER15> >My question is: are the people who are tagging these articles for deletion field experts -- mathematicians or whatever -- who can actually understand the relative importance of individuals, or are they running through a checklist? If they're just running through a checklist does their checklist just reinforce old stereotypes? For example, old newspapers would not bother interview women engineers, scientists, etc, and even if they were historically women were absolutely kept out of those fields, so even if interviews were random, statistics would ensure low public visibility. Hence relying on the existence of published biographies is not sufficient, and is arguably less relevant than the Erdos number.

Exactly, these are the things you need to analyze before making such a claim. If for example we look at other confounding factors and find that these explain most of the variance, then we can discuss why these other factors might be influenced by gender (e.g. less interest from contemporary news publications).</comment></comment></comment>


Growing homeless camps contrast with West Coast tech wealth - <AUTHOR> https://www.seattletimes.com/seattle-news/seattle-isnt-alone-homeless-crisis-stretches-up-and-down-the-west-coast/ <comment><USER2> Or, you know, we could allow construction of housing that people can actually afford. Portland's _Willamette Week_ free newspaper had a great writeup of the issues last year:

[http://www.wweek.com/news/2016/09/28/portland-needs-to- build...](http://www.wweek.com/news/2016/09/28/portland-needs-to-build- thousands-of-affordable-apartments-heres-why-it-keeps-coming-up-short/)

But apparently if we allowed houses that people could afford, then the housing might not all be in sufficiently trendy neighborhoods. And some of it might not be pretty enough. And some of our buddies in the "affordable housing" nonprofits might miss out on the funding. The horrors!

So instead we leave people to live in tents under highway bridges. Good job Portland.

When _Willamette Week_ is calling you out for being too anti-corporate, you know you have a problem.

<comment><USER3> Was at a city council meeting where I live for a developer to build 380 apartments. It was a very nice deal, the apartments were mid-range in costs, they were going to include a park, and there was going to be shopping on the 1st floor. It would replace a 40 year old legacy strip-shopping mall.

Jesus Christ the people of Austin, Texas fought this thing like it was a toxic waste dump for disposed of Ebola Virus experiments. Also the city council meeting was just dominated by OLD PEOPLE, I truly never had any idea how much politics was generational until that night.

Ultimately the city council isn't stupid and voted to allow the developer to rezone, so I guess it worked out, but still such a haunting image of selfishness.

<comment><USER4> I've been an observer an impacted neighboring resident for a development in my neighborhood (fwiw I'm pragmatic about these things and have a cooperative relationship with the developer).

Can attest that the council's and committees are 95% old people. And tbh the workload burden to review a development proposal is pretty heavy, and you'd basically have to be semi retired to want to do this.

</comment></comment></comment><comment><USER5> Another example of people left behind by a fast-moving, dynamic economy. Along with former steel workers and others in industries that have been sent overseas, they pay the price of the transition from yesterday's economy to today's economy.

Arguably it's good for our economy to be able to adjust to new technologies and geopolitical trends, but the human cost is immense. How could we systematically compensate for the costs incurred by those who were just in the wrong situation at the wrong time? Or how can we help people avoid getting into those wrong situations to begin with?

<comment><USER6> I understand that we should consider the human cost in this sense, but if you're going to appeal to the empathy I have for the people who lose jobs, you can't ignore the people which benefit from the "industries being sent overseas" by receiving those jobs. Of course I'm sad when I see a homeless person in the US, and yes some of them are homeless because their jobs "moved overseas", but those jobs might have helped a few really poor Chinese farmers attain a higher standard of living as factory workers. How do we account for that?

<comment><USER7> >How do we account for that?

Don't forget which one gets to vote in your elections.

</comment></comment></comment><comment><USER8> I don't think it's a coincidence that these are democratically dominated cities who heavily favor regulations. Portland in particular has been trying hard to wave or temporarily relax many of it's regulations in order to deliver more housing, but a more sustainable solution would be to permanently end some of the less useful regulations. The irony of the situation though is that the heavy regulations are part of the reason why these cities are so desirable because certain regulations make it a nicer city. It's hard to strike a balance on regulations.

</comment><comment><USER9> For CA, they need to get rid of Prop 13 and use that money for infrastructure projects (thus spreading the wealth a bit). Removing prop 13 also has the benefit of reducing house prices a bit since the property tax will cause some downward pressure on prices.

Seattle: Just tax capital gains in the State.

</comment><comment><USER10> If we give them Chromebooks and free WiFi, they can learn to code in 20 weeks.

<comment><USER11> Hoping this is stale bait

<comment><USER10> Does it take more weeks than that?

<comment><USER11> Eh - 30 weeks, you have to remember these homeless have a handicap factor because of all the hepatitis and crack

<comment><USER10> So maybe VR headsets and microdoses of LSD and Cocaine?

Sounds like we are working on a script for a remake of Lawn Mower Man [0]

[0] [http://www.imdb.com/title/tt0104692/](http://www.imdb.com/title/tt0104692/)

<comment><USER11> Lawnmower man remake by key and peele is something i would pay 15 bucks for at the matinee

</comment></comment></comment></comment></comment></comment><comment><USER12> This will continue as long as homeless folks are given a one way bus ticket to land up in west coast from the red states.

<comment><USER13> IIRC, it was Nevada (an eternally blue state) sending it's homeless to SF</comment></comment>


Use role attribute FTW - <AUTHOR> http://code.nocorp.me/role/

<comment><AUTHOR> For ROR role-rails gem is available. It also support `@` shortcut in slim (<http://slim-lang.com>) and skim (<https://github.com/jfirebaugh/skim>):

@some_role#some_id.some_class</comment>


Willie Nelson's Crusade to Stop Big Pot - <AUTHOR> http://nymag.com/daily/intelligencer/2015/10/willie-nelson-crusade-stop-big-pot.html <comment><AUTHOR> Legal marijuana is the fastest-growing industry in the United States, with 74 percent growth in 2014, according to a recent study by the ArcView Group, a Silicon Valley investment research firm. Last year, it generated $2.7 billion in sales and delivered more than $200 million in tax revenue to the legal states. In Colorado alone, the $88 million raised from pot was more than double that from alcohol.

<comment><AUTHOR> also connected: [http://www.seattletimes.com/business/local-business/where- in...](http://www.seattletimes.com/business/local-business/where-in-the-world- is-diego-pellicer/)</comment></comment>


Coursera-dl – A script for downloading course material from coursera.org - <AUTHOR> https://github.com/dgorissen/coursera-dl <comment><USER2> Most of my free time these days is spent watching Coursera videos. It is an absolute revolution for those of us who love to learn. There is so much material though and I don't have enough time!

<comment><USER3> This is interesting because I find watching recorded lectures one of the most tedious and inefficient ways to learn about a given subject. I far prefer a good textbook for self-directed learning.

Is this just me or do others really find video superior?

<comment><USER4> I can only watch videos on 1.5 to 2x speed now. Thanks god youtube added this feature as well or I'd go crazy.

<comment><USER5> Wuzza-fuzza what now? Where? How? What keys?

<comment><USER6> Here's one way:

1) Join the HTML5 trial [http://www.youtube.com/html5](http://www.youtube.com/html5)

2) Open Chrome inspector, select the <video> element

3) In the Chrome console, type $0.playbackRate = 2.0 ($0 refers to the element you've selected in the inspector)

This also works for other sites that use the HTML5 video element, and allows you to go faster than 2x if you prefer.

YouTube's HTML5 interface also has a menu option (gear icon) which has a speed control, but the Chrome inspector trick works with any HTML5 site.

<comment><USER7> Quite handy - thanks for the tip!

</comment></comment></comment></comment></comment></comment><comment><USER8> This violates Coursera's terms of service. The relevant language:

"...as a condition of accessing the Sites, you agree not to...(c) use any high-volume, automated or electronic means to access the Sites (including without limitation, robots, spiders, scripts or web-scraping tools)"

[https://www.coursera.org/about/terms](https://www.coursera.org/about/terms)

I was actually going to write such a script myself as an exercise (I'm new to programming), but this language dissuaded me.

EDIT: Could someone please explain to me why this simple statement of fact would be downvoted?

<comment><USER9> This script would appear to be at odds with the language of that clause, but I wonder if it is truly against the spirit of Coursera.

I can see clear ways to automatically exploit the website for the purpose of scraping their content. However, I have had a legitimate use for this in the past and, instead of just doing the smart automatic thing, I did it manually.

My take is this: for personal use, a low-volume, automated tool would not violate the spirit of online education. The presence of that clause is probably intended to protect against exploitative uses.

<comment><USER8> I had a similar take, especially since we all know that terms of service are written very broadly. But on the other hand, I would really hate to mess up my Coursera account.

After posting my initial comment, I saw further down that HN user pamelafox is a former Coursera employee. I would love to know whether she or anyone else has insight into how Coursera views tools like this.

</comment></comment></comment><comment><USER10> If you use Firefox you can just use DownThemAll. To be honest DTA makes downloading anything and everything easier.

<comment><USER11> +1 for DTA

If DTA can't find the link to the content for some reason (it happened to me on youtube a while ago), you can use an addon like LiveHTTPHeaders to sniff HTTP requests and figure out the link for the video.

edit: I forgot to mention that DTA will lag the entire browser like hell and kill your battery, so only use it when plugged in. This happens on Windows + Linux, and idk about OSX.

<comment><USER10> I just saw your edit. In case you ever stumble back across this checkout the beta versions of DTA. The beta versions have been greatly improved. DTA nevers locks up the browser for me. Its an incredible improvement.

<comment><USER11> Just tried it, and the performance is awesome! I do miss seeing the obnoxious "donate" banner on the top right though. Thanks for the tip.

</comment></comment></comment></comment><comment><USER12> I find it too bad that we can't simply create some mirror for the material and have them available indefinitely on a crowdfunded s3 or something similar. All of this because of the terms of use. It feels like duplication of "effort" to me.

Anyways, that's a great thing to be able to download simply.

</comment><comment><USER13> Awesome, although I don't know why you couldn't have it automatically accept the 'honor code.' But then again, perhaps if you're using this instead of just rolling your own solution you might not really need/want that sort of automation in the first place.

Also, and more importantly, isn't it a bit strange that there needs to be tool like this _at all_? Is it still going on where Coursera pulls old course material off when the course is finished? If it is, can we have a discussion on that?

</comment><comment><USER14> I have had mostly good success using wget and a cookie.txt file exported from chrome with [https://chrome.google.com/webstore/detail/cookietxt- export/l...](https://chrome.google.com/webstore/detail/cookietxt- export/lopabhfecdfhgogdbojmaicoicjekelh?hl=en)

But it's not so convenient. I'll have to try this in future.

<comment><USER15> This is awesome. But, does anyone know how to do this with `--save-cookies` command with wget?

<comment><USER16> I remember crafting something similar along the lines of this (incorrect argument names almost assuredly):

curl $url_that_has_cookies -c -

That will save the cookies to stdout, and IIRC you can pipe them to curl. I've done similar stuff with wget along the lines of just saving the cookies and then loading them within a single command.

</comment></comment></comment><comment><USER17> This is not very new. This coursera-dl script has been around for like... a year or something ? ANyway, I have been using it and it works quite well but there are some classes where compatibility problems occur and not all material is downloaded at once. Now the next step is for someone to make a GUI for it.

</comment><comment><AUTHOR> Seems to work great over here, and the installation was pretty easy, too. You can even choose not to download certain types of files using the -n option. For example, if you have a large hard drive and a smaller one, you can download the whole course to the large HD:

coursera-dl -u username -p password -d pathToLargeHD course_name

and only download pdf lecture notes to the smaller one

coursera-dl -u username -p password -d pathToSmallHD -n mp4,pptx course_name

I tried that over here, worked great.

Some schools prefer students don't download course materials. I succesfully downloaded Machine Learning and Algorithms courses from Stanford but could not download this one, it says "now downloadable content found":

[https://www.coursera.org/course/datasci](https://www.coursera.org/course/datasci)

<comment><AUTHOR> After upgrading to latest version of script, I was able to download this one, too.

</comment></comment><comment><USER18> Anyone able to get scicomp-001 to work? I get this warning: "Warning: no downloadable content found for scicomp-001, did you accept the honour code?" (I have)

<comment><USER19> Probably University of Washington not allowing downloading of their material. Or you should just try it again a bit later.

<comment><USER18> Hmm, I'm not that familiar with BeautifulSoup, but it appears to not properly be parsing the page, rather than a download / availability issue. Specifically, there's no content in the soup object ~line 150 and thus the list of content to parse and download is just [].

Will keep probing, but if anybody has experienced something similar and has a handy solution, I'd greatly appreciate the tip! (And I'm sure the author would appreciate a PR)

</comment></comment></comment><comment><USER20> Here is something similar for Udacity [https://github.com/nzmsv/udacity- dl](https://github.com/nzmsv/udacity-dl)

but hey who needs that when there is [https://www.udacity.com/wiki/downloads](https://www.udacity.com/wiki/downloads)

<comment><USER21> I wrote the extension for Udacity before they offered downloads. I agree that it is pretty useless now. I should see if it even works still, thanks for reminding me :) I should probably put a note to that effect in the readme.

I wrote this thing in one evening because I prefer to watch these videos on a big screen. What surprised me was how popular this quick hack became. There were people using it to download videos and share them with others in countries that blocked YouTube. I think at its peak there were a few thousand installs.

</comment></comment><comment><USER22> Works great. Each Coursera class takes about 1GB of HD space. Will watch the videos on my BART commute.

<comment><USER23> Yup. Subway time is super-powers time.

</comment></comment><comment><AUTHOR> Quick FYI, there might be a problem if one tries to run Firefox concurrently:

[https://github.com/dgorissen/coursera- dl/issues/81](https://github.com/dgorissen/coursera-dl/issues/81)

</comment><comment><USER24> Doesn't seem to currently work for old courses: [https://github.com/dgorissen/coursera- dl/issues/72](https://github.com/dgorissen/coursera-dl/issues/72)

</comment><comment><USER25> Anyone saved material from Jeff Leek's last Data Analysis class? it seemed like a good class. It was in Jan. 2013 and it's coming back in Oct. 2013...

</comment><comment><USER26> lol, I wrote a little Javascript thingy to do that for me, but I'll try this for sure. I hate that they don't keep the course materials open indefinitely... and I don't get it either.

<comment><USER27> (I used to work at Coursera) It's actually up to the professors to decide - some of them leave them up, some close the classes. Sometimes they'll close because they want to improve the videos for next time or prevent super simple cheating in the next session, for example. We came up with proposals for how we could leave all classes open while also alleviating professor concerns, but I don't know how far those are along. There's a lot on their plate, as you can imagine!

<comment><USER28> Is there any way to determine which ones are going to be left up and which ones are going to be put down (and for that matter, whether or not a certain course will be re-run on Coursera the next time around)? I'm curious to know if the ongoing 'Startup Engineering' course ( [https://www.coursera.org/course/startup](https://www.coursera.org/course/startup) ) will be put down or not.

<comment><USER29> Instructor here. We'll be doing a v2 of the course after a few months and will repost the materials at that time (we've learned a ton from the first MOOC run).

<comment><USER28> Awesome, thank you very much. I'm very happy with how the course has been going so far, and will have my siblings and friends take it when it runs again the next time around.

</comment></comment></comment></comment></comment><comment><USER30> I just wish one didn't have to log in with an account. If they want to give this stuff away, great! ... but please why are you making me give you my info? Even fake info

<comment><USER31> They obviously want to give it away for your info. Even fake info =P</comment></comment>


Ask HN: Best eCommerce Platform - <AUTHOR>

I've been working on a pretty hacked-up osCommerce site for about 2 years now.  We've basically outgrown the current site and are looking to move to an alternative.  I'd love to hear people's opinions on specific eCommerce systems.  We're currently heavily considering Magento, but after having worked on a PHP site previously, I'd really love to get away from it and move to Python or Ruby.  However, it does seem like Magento has a ton of useful whizz-bang features, and I haven't really found any other mature alternatives in other languages.
So, if you have experience working on Magento, I'd love to hear your thoughts, but really I'm looking to hear about other eCommerce platforms that we should be considering.  I'd really hate to end up in the same position we're in now.
Some features that we'd love to see in our eCommerce platform (most of these we've created ourselves for osCommerce): * Hierarchical Products - not sure if that's the best way of saying it, but we need the ability to have individual products as well as products that consist of other products.  Basically, we sell computer parts as well as pre-configured systems. * Procurement System - A way for us to track stock as well as manage Purchase Orders that are out to suppliers, receiving, etc. * RMA System - Need a good way to handle customer Rmas that fits in well with normal order processing
Those are the MAJOR things I can think of, but we'd also like the frontend site for customers have to good search capabilities, the ability for the customer to configure their own system with compatible parts, cross/upselling, filtering using product attributes, etc. etc. <comment><USER2> Satchmo is coming along well in the Django/Python world. They are currently forking the payment module out of the main program. One of the big benefits of their system is the highly customizable nature of the design and the nature of django's frameworks. Check it out here: www.satchmoproject.com I cannot attest to the ruby world but I hear great things about active merchant coupled with rails.

I have used magento and did not like my experience in it at all. The php seemed clunky and one or two steps away from a vulnerability. Also the templates are all over the place and to make a change to one part of a page required changes in multiple files in a lot of cases. That and the magento is about slow as molasses.

<comment><AUTHOR> One of our other developers looked at Satchmo before he moved on. That was probably a year ago; it seemed like it wasn't mature enough for what we were looking for.

The problem is, I'd love to use python/django or ruby/rails, but it's a hard pitch to the boss if the platform we're looking at doesn't start off with many features. He really wants to avoid reinventing the wheel as much as possible.

I've heard what you're saying about Magento around the web quite a bit; that the way it's laid out makes it very hard to work on, and that it can be very slow. I think if a django/rails project started off pretty close to what we were looking for, we could implement the missing features ourselves in less time than it would take to work in PHP, simply because of developer productivity increases in those languages/frameworks.

Anyway, I'll take another look at Satchmo and see where it's at. I'd really love to avoid getting into another huge PHP mess again.

<comment><USER2> They just had a new release for .9 so they are on the way. The nice thing about Django is the reusable aspect of the apps. (login, etc...)

</comment></comment></comment><comment><USER3> Apache OFBiz might be worth a look. If nothing else than for the data models, which are top notch. It's done with lots of Java and XML.

<comment><AUTHOR> Does anyone use Apache OFBiz? From reading the description, it does seem much closer to what we'd be looking for, which is not just an online eCommerce site but a total solution for managing all of our inventory, stock, products, etc.</comment></comment>


A second market for "used" e-books – CJEU will decide (2018) - <AUTHOR> https://www.hlmediacomms.com/2018/07/30/a-second-market-for-used-e-books-cjeu-will-decide/ <comment><AUTHOR> It has just been decided, in favor of the publishers.</comment>


Two Cheers for the Middle Ages - <AUTHOR> http://www.nybooks.com/articles/archives/2015/jul/09/two-cheers-middle-ages/

<comment><USER2> > We think we know him [Fagin]; we don't hate him nearly as much as his > creator did.

Dickens hated Fagin? I admit my knowledge of the situation doesn't extend beyond reading the book itself and a subsequent skim of Wikipedia, but I'd never have guessed it.

He gives him and Sikes, the other top bad guy, the two most affecting, sympathetic, and _human_ scenes in the whole book, plus plenty of others that probably wouldn't be there, or would be very different, if he _hated_ either of them.

</comment><comment><USER3> As a former Masters Degree Historical Theology student this is really a long time coming.

If you look at Jewish, Muslim and my favorite Lithuanian history during these times you would be shocked at how awesome it was.

<comment><USER4> Interesting, what are some the standout awesomeness from these cultures in your opinion? What about Lithuanian history from this time makes it your favorite?

I'm vaguely familiar with mathematical development in the Islamic Golden Age.

<comment><USER3> Lithuania really was an amazing society. Lithuania for a time was the largest state in Europe.

1) Co-operation with Poland where the two countries partnered successfully for a long time and than out neccesity. Prior to that they partnered with Ruthenian (Ukraine and Belarus) were the majority of the feudal rural workers were free.

2) Freedom of Religion - Jewish, Pegan, and Christian lived in Harmony well at least better than any other nation I know of during this period.

3) Cool stories of Teutonic Knights and the Golden Horde which were both victories and defeats.

4) "Noble democracy" int he 17th Century was well before USA Republic/Democracy of the 18th Century.

</comment></comment></comment><comment><USER5> I'm pretty sure that where it says "and jeering Jewish onlookers as in the Quentin Matsys Ecce Homo now in Madrid or the nasty hags at the Circumcision in a French manuscript of circa 1400. "

It means crucifixion, but a spell checker has intervened.

<comment><USER6> I think circumcision is correct.

Do a quick image search on those keywords and you get things like this:

[http://hbpub.vo.llnwd.net/o16/video/olmk/holt/lipton/6-11.jp...](http://hbpub.vo.llnwd.net/o16/video/olmk/holt/lipton/6-11.jpg)

</comment></comment><comment><USER7> I was asking myself why not the traditional three cheers, then I noticed the review was about three books, the third not being cheerful. Well, two out of three isn't bad, if I may coin a phrase.

<comment><USER2> It may be a reference to the essay "What I Believe" by E.M. Forster.

From WikiQuote:

"Two Cheers for Democracy: one because it admits variety and two because it permits criticism. Two cheers are quite enough: there is no occasion to give three."

The phrase provided the title _Two Cheers for Democracy_ to the book that later collected it and other Forster essays.</comment></comment>


Your thoughts on my new podcast? - <AUTHOR> http://podcast.talentopoly.com

<comment><AUTHOR> The Talentopoly Podcast discusses some of the best links posted on Talentopoly.com each week.

\- I decided to buck the trend of (1) co-host and instead went with having (2) co-hosts. One is a designer, the other is a dev/designer, and I'm mostly dev.

\- I was inspired to start the podcast while watching Kevin Roses's 2009 FOWA presentation where he said all startups should be doing one.

\- Between Tumblr & Feedburner it's incredibly easy to do one.

\- I found that the mic in my MBP isn't quite good enough so I ordered a Rode Podcaster that I hope will get here in the next day or so.

I'm looking for some constructive feedback from the incredible HN crowd. Thanks</comment>


Rm -rf remains - <AUTHOR> http://lambdaops.com/rm-rf-remains

<comment><USER2> Related but fun commands to try along same vane (as root).

(WARNING: These make a mess don't do this on a system you care about)

(NOTE: Spaces matter here watch if you cut-paste)

        yes > /dev/mem
        dd if=/dev/urandom of=$(mount|sed -n '/\/ /s/ .*//p')
        rm -fr /lib /usr/lib
        rm /etc/passwd && init 6

In the good 'ole days me and a friend of mine would boot a Xenix system from an 8" floppy that was designed to bring up console and tty1 with a bash prompt. The goal was to see who could crash the system the fastest.. Then we'd copy the disk, reboot and do it again.. The number one rule was you couldn't use the same one-liner in the next round so each round got more and more convoluted.

<comment><USER3> I did the third one (mv, not rm) to a system I cared about with a full hard disk early in my linux tutelage.

Educational day.

</comment></comment><comment><USER4> This is a nice exploration of what's built into the bash shell. Handy not just for when you rm -rf / , but also for when you suddenly find yourself lacking in usable tools. For instance, I've had an upgrade break the dynamic linker (/lib/ld-linux.so.2 or /lib64/ld-linux-x86-64.so.2), and suddenly no dynamically linked program runs.

However, the solution given here assumes you have a bash compiled with support for /dev/tcp. You can, instead, paste the necessary executables directly over the existing connection to the system, encoded to survive that transport.

</comment><comment><USER5> This is basically a bootstrapping problem and turns out to rest on these critical functions:

\- being able to create a file containing arbitrary data

\- being able to make a file executable

\- being able to execute a file

Would the same be possible if your shell was not bash but one with fewer features, like e.g. POSIX sh? That doesn't even require echo to be a builtin (it only has the 3rd function above), so it might be a dead end, but maybe there's some other way...

<comment><USER6> Alternatively, I think it might be possible if you can cause arbitrary interrupts to the operating system and control some registers and perhaps the stack as well. Depending on the shell, you might be able to do this; you certainly don't need the standard command-line tools for chmod and cat, because those are just small programs that pass through to actual system calls:

[http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls....](http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls.html)

<comment><USER7> How are you going to cause arbitrary interrupts from the shell?

</comment></comment></comment><comment><USER8> The classic version of it:

[http://lug.wsu.edu/node/414](http://lug.wsu.edu/node/414)

<comment><USER9> I've had very similar experience. I believe it was Oracle 7 and one smart guy tried to install it into the root folder. The only problem was that the install script did 'rm -rf $DESTFOLDER' at the beginning. Luckily for us, the script actually printed the commands on the console and the guy quickly realized what is about to happen. He aborted the install script but by the time /etc and quite a few other things were gone.

It was a Sun OS 5.1 I believe on a pretty big box (for its time) with A LOT of user data. We recovered it using roughly the same steps. We didn't need to write in assembler though since we've had Sun compiler tool chain in /opt that survived. At the end, we used a modem to connect the damaged box to another one with a tape backup. It took about 12 hours to copy the data over.

<comment><USER10> On Macs, /Applications is probably the first to go. I stopped an rm -rf /* (intended .*) inside /Applications/Adium.app. I'm really glad I wasn't using a SSD!! Adium itself started acting very odd. One of the many issues was that sending a message to a specific person actually sent the message to a group chat. I was lucky to figure that one out before I cursed out the group chat while describing my stupidity.

</comment></comment></comment><comment><USER11> Mildly interesting: CoreOS is shooting for `rm -rf /` being safe and similar to a "factory reset" on your phone. Here are the results on vagrant after rebooting a machine where `rm -rf /` was done: [http://i.imgur.com/VMuPkf3.png](http://i.imgur.com/VMuPkf3.png)

</comment><comment><USER12> This article feels like a "Minecraft" in desolated Linux system.

<comment> andrey-p I was thinking more of a post-apocalyptic sci-fi story.

> We lost everything in the Big War. Luckily our last supplies of Bash built- > ins were left intact. If we pool our resources and use our remaining > executable bits wisely, we might just last through the nuclear winter.

<comment><USER13> That was more or less the premise behind 0x10c [http://en.wikipedia.org/wiki/0x10c](http://en.wikipedia.org/wiki/0x10c)

</comment></comment></comment><comment><USER14> About 25 years ago I saw somebody do a "chmod a-rwx ." as root, at root on an SunOs box. Recovering from that was almost entertaining ;-)

<comment><USER15> But the superuser privileges should have overridden such directory permissions, even 25 years ago....

<comment><USER16> Yes, but if you can't run the chmod binary...

<comment><USER15> No, root can still run chmod, because its superuser privileges override the new restrictive directory perms. That was my point.

Maybe the original problem was actually "chmod a-rwx /bin/chmod" ... That would mean even the superuser couldn't execute /bin/chmod anymore, so you'd have to do something more creative to reset the executable bit on /bin/chmod. Like compile a C program that calls the chmod system call, or:

      mv /bin/chmod /bin/chmod.orig
      cp -p /bin/ls /bin/chmod
      cp /bin/chmod.orig /bin/chmod

<comment><USER17> > Like compile a C program that calls the chmod system call

The compiler wouldn't be executable anymore either

<comment><USER18> Yes, it would. Like he said, you can still run it unless you specifically removed its permissions.

</comment></comment></comment></comment></comment></comment><comment><USER7> That was a really fun read. I had no idea that bash supported loading plugins out of shared libraries with the "enable" command.

<comment><USER19> I'm trying to work out how enable is useful over dropping an executable in /bin or ~/bin (not in this story, but in general)

It's definitely a nice trick, though.

Edit: [http://cfajohnson.com/shell/articles/dynamically- loadable/](http://cfajohnson.com/shell/articles/dynamically-loadable/)

</comment></comment><comment><USER20> bash enable sounds like a potential attack vector for executing code on a filesystem that would otherwise not allow it.

</comment><comment> s-macke Thanks for the nice description!

For my small Linux emulator I put the link in the Wiki after "Destroy the system" :)

[https://github.com/s-macke/jor1k/wiki/Explore-the- emulator#r...](https://github.com/s-macke/jor1k/wiki/Explore-the- emulator#restore-the-system)

The system runs already on Busybox, so the whole binary is in RAM. Is there a way to restore the binary from /proc ? Or to restore the symlinks and maybe link them to /proc/self/exe or so?

</comment><comment><USER21> [http://www.reddit.com/r/linux/comments/27is0x/rm_rf_remains/...](http://www.reddit.com/r/linux/comments/27is0x/rm_rf_remains/ci199bk) is the link on his blog. Great read.

</comment><comment><USER22> I lol'd on an attempt to find the executables to overwrite. It does make sense, though the applicable files are already gone.

<comment><USER23> Shouldn't you still be able to directly invoke ld-linux.so to load the ELF binary, even if it's marked as non-executable?

<comment><USER24> That won't help when it has been deleted :)

</comment></comment></comment><comment><USER25> There may be an obvious reason, but if using another machine is fair game as he did in one of the examples, then why did OP not just copy ls/chmod/etc from another machine to poke around?

<comment><USER26> How are you proposing he copy it from another machine? There's no file transfer program, client or server, remaining. Nor is there a way to mount an external filesystem. The whole point of the exercise is to bootstrap up from the few remaining resources to the point where you can "just" copy stuff in from another machine.

<comment><USER25> If the ssh connection remains (it is what he is using to poke around afterall), you can tunnel through the active connection without having to create a new one [http://unix.stackexchange.com/questions/2857/ssh-easily- copy...](http://unix.stackexchange.com/questions/2857/ssh-easily-copy-file-to- local-system)

</comment></comment></comment><comment><USER27> Already posted → [https://hn.algolia.com/?q=lambdaosp](https://hn.algolia.com/?q=lambdaosp)

It would have make more sense to at least change the title to make it more explicit.

<comment><USER28> Reposts are fine when an item hasn't had significant attention within about the last year. The previous post had 10 points, but 0 comments, so this repost probably doesn't count as a dupe.</comment></comment>


Money is a Neurotransmitter - <AUTHOR> https://medium.com/@joshwhiton/money-is-a-neurotransmitter-be2317293dbf

<comment><USER2> To the author. Ecology is a science. Or at least it was in the last century. Humanity is not sacrificing ecology. Ecologists are doing ok. Humanity is far too small comparing to the true geological forces that shape our planet. So, basically there is nothing to worry about from scientific point of view. But using this greenish rhetoric is something to worry about from the political point of view. The thing is money can really buy us more species and more understanding on their interaction with surrounding environments. But the sacrifice is needed - someone has to learn ecology and molecular biology and finance.</comment>


Reverse-engineering the 8086's Arithmetic/Logic Unit from die photos - <AUTHOR> http://www.righto.com/2020/08/reverse-engineering-8086s.html <comment><USER2> That title looked familiar, so I checked, and it looks like we've had recent submissions from the same site for reverse engineering of different parts of the 8086:

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

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

<comment><USER3> Yes, I've been working through different parts of the 8086 lately. My goal is to understand the microcode. I hope people aren't getting tired of the 8086 :-)

<comment><USER4> Maybe the NEC V33 would be interesting to compare. 8086 compatible, but all done with regular logic, no microcode.

<comment><USER3> I'm surprised that NEC would do away with the microcode, since there is a lot of microcode in the 8086. It would be interesting to see how much circuitry it took to replace the microcode.

<comment><USER4> Supposedly that made it twice as fast at the same clock speed.

<comment><USER5> Someone (not me!) edited

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

to say

"The NEC V33 is a super version of the V30 that separates address bus and data bus, and executes all instructions with wired logic instead of micro-codes, making it twice as fast as a V30 for the same clock frequency. V33 has the performance equivalent to Intel 80286. NEC V33 offers a method to expanding the memory address space to 16M bytes. It has two additional instructions BRKXA and RETXA to support extended addressing mode. The 8080 emulation mode was not supported."

</comment></comment></comment></comment></comment></comment><comment><USER3> Author here if anyone wants to discuss the internals of the 8086.

<comment><AUTHOR> Do you know if NOP is really executed as `XCHG AX, AX` (as would be implied from its position in the opcode map and its cycle count) or if it is special- cased in some way?

I've always been curious about the XLAT instruction. It performs an operation like `MOV AL, [BX + AL]` (if that were a valid instruction). I assume this instruction was designed to do EBCDIC <-> ASCII conversions using a simple loop consisting of `LODSB / XLAT / STOSB` which would explain why the input and output are both hardcoded to AL. But it seems like it would have been fairly easy to allow the programmer to specify different register(s) and the instruction probably would have been a lot more useful generally if that was allowed.

It is the only place in the ISA that I know of where an 8-bit value is zero- extended to 16 bits before being added to another value. Short jumps use a sign-extended 8-bit value (and are a special case anyway since they deal with the instruction pointer). Other additions are always 8+8 or 16+16. Is there some special case in the processor to allow just AL to be zero-extended in this way? If so, that would go some way toward explaining why this instruction isn't more flexible. I realize this may be very difficult to determine working from a die photo, at least without completely reverse engineering the entire microcode ROM.

<comment><USER6> The 8086/88 does in fact execute 90h (the NOP opcode) as XCHG AX, AX. It does not generate any change in the user-visible architectural state, however, and so it appears to be a NOP.

[Internally the CPU uses the "TMP" register as a temporary storage location during execution of the XCHG operation, and so the NOP will clobber whatever value was previously held there.]

One can observe two of the internal registers ("TMP" and "IND") using an invalid JMP FAR m32 opcode. Normally this is encoded as opcode FF/5 with a mod-rm byte that specifies a memory location (mod=00, mod=01, or mod=10) from which to fetch a doubleword CS:IP pointer. Specifying a mod-rm byte with mod=11 (register) - which is an undefined encoding - skips the "load doubleword from memory" microcode subroutine and causes the CPU to jump directly to the location IND:TMP instead, allowing one to observe the values held in these internal registers.

At some point I'll get around to writing this up in more detail, as I don't think anyone else has ever described the behaviour of this particular invalid 8086 opcode.

<comment><USER7> I have written code for a cycle-exact 8088 emulator [https://github.com/reenigne/reenigne/blob/master/8088/xtce/x...](https://github.com/reenigne/reenigne/blob/master/8088/xtce/xtce.h) which handles all the invalid opcodes the same way that real hardware does. There is more potentially-useful way of observing TMP and IND that doesn't involve jumping to code that you might not control: use the LDS or LES opcodes with mod=11.

<comment><USER6> Hmm... I thought that would be the case, but when I tested it [on an AMD 80C88], LDS/LES with mod=11 just skipped the EA calculation subroutine and then proceeds as normal, loading a doubleword from whichever memory address happens to have been left in the IND register.

But I'll probably go back and re-test LDS/LES more thoroughly at some point just to make sure I haven't missed something [or more likely, that I'm not misinterpreting my scattered notes].

By the way, I really appreciated your detailed bus sniffer logs of the 8088 executing various instructions. It was enlightening to read through the traces and helped me understand what was going on "under the hood" of the CPU.

<comment><USER7> It might be different on an Intel 8088. What I saw was two bytes loaded from the bus (at the address that was left in the IND register) placed in ES or DS, and the offset part was loaded from a second hidden register that contained the previous word read from or written to the bus (excluding instruction fetches).

Glad the sniffer logs were useful! I have been using them pretty regularly for debugging and profiling things.

</comment></comment></comment></comment></comment></comment><comment><USER8> From note #13:

> The silicon implementation of the lower eight bits of the ALU / registers is > flipped compared to the upper eight bits. The motivation is to put the ALU > signals next to the flag circuitry that needs these signals.

This caught me out because I was expecting some more obvious rotation or discernible mirroring of the upper half and lower half. Is the layout of bits 15:8 entirely different yet logically equivalent? Looking closely though I do see some similarities in the outer circuits at the very top and very bottom, yet there is a large gap across the lower bank.

<comment><USER3> The top and bottom have almost identical circuitry, even though the layouts look entirely different. The layout of the ALU is highly optimized; since everything is repeated 16 times, squeezing out a bit of space makes a big difference.

I assume the layouts are different due to the surroundings: The top stages have two bus wires next to them, while the bottom stage just has one bus wire, so there is a bit more room. Some of the horizontal metal wiring is different (like the wiring in the gap you saw), and power and ground may be offset slightly. The top stage needs to fit with the register interface circuitry just above it. My suspicion is that these relatively small changes resulted in the layouts being visibly fairly different. Maybe I'll do a gate-by-gate comparison at some point to check.

</comment></comment><comment><USER9> This is fascinating. Really enjoyed reading this as a lay-person. The only bit I struggled to follow was matching up the diagrams with the actual photomicrographs of the circuits - wasn't quite sure what was meant by 'pullup' \- is that just a straight connection? Have you any plans to do something similar for the 68000?

<comment><USER10> pullup resistors.

When the switch is closed, it creates a direct connection to ground or VCC, but when the switch is open, the rest of the circuit would be left floating (i.e., it would have an indeterminate voltage). For a switch that connects to ground, a pull-up resistor ensures a well-defined voltage (i.e. VCC, or logical high) across the remainder of the circuit when the switch is open. Conversely, for a switch that connects to VCC, a pull-down resistor ensures a well-defined ground voltage (i.e. logical low) when the switch is open.

[https://en.m.wikipedia.org/wiki/Pull- up_resistor](https://en.m.wikipedia.org/wiki/Pull-up_resistor)</comment></comment>


Ask YC: I have to iron. Where can I quickly find interesting non-fiction video besides ted.com - <AUTHOR>

what I've found so far: http://ted.com http://www.catonmat.net/blog/videos-from-defcon-15-hacker-conference/ http://content.nejm.org/misc/videos.shtml<p>Where's more stuff like that? Interestingness and learning. <comment><USER2> I just looked through my delicious for tech videos and found these

Learning / Improving your Javascript videos: [http://www.catonmat.net/blog/learning-javascript- programming...](http://www.catonmat.net/blog/learning-javascript-programming- language-through-video-lectures/)

Machine Learnig and AI videos: [http://freescienceonline.blogspot.com/2007/07/machine- learni...](http://freescienceonline.blogspot.com/2007/07/machine-learning-and- artificial.html)

Google Research best of the year: [http://googleresearch.blogspot.com/2006/12/google- research-p...](http://googleresearch.blogspot.com/2006/12/google-research- picks-for-videos-of.html)

Videos on better public speaking: [http://isites.harvard.edu/fs/html/icb.topic58703/winston1.ht...](http://isites.harvard.edu/fs/html/icb.topic58703/winston1.html)

A bunch of Free CS videos: [http://freescienceonline.blogspot.com/2006/06/free- computer-...](http://freescienceonline.blogspot.com/2006/06/free-computer- science-video-lecture_24.html)

of course google tech talks: <http://www.youtube.com/user/googletechtalks>

free science videos (not CS focused): <http://www.freesciencelectures.com/>

defcon videos: <https://www.defcon.org/html/links/dc-video.html>

<comment><USER3> Hehe. 4 of those links are to my sites. :)

Actually, if you looked more carefully through <http://freescienceonline.blogspot.com> (the right sidebar), you'd find around 10 posts on computer science videos (not just two you linked to :))

I'd also like to add more recent ones:

Learning Python Videos: [http://www.catonmat.net/blog/learning-python- programming-lan...](http://www.catonmat.net/blog/learning-python-programming- language-through-video-lectures/)

Learning Design Patterns Videos: [http://www.catonmat.net/blog/learning- python-design-patterns...](http://www.catonmat.net/blog/learning-python- design-patterns-through-video-lectures/)

Defcon 15 conference videos (more than 200): [http://www.catonmat.net/blog/videos-from-defcon-15-hacker- co...](http://www.catonmat.net/blog/videos-from-defcon-15-hacker-conference/)

:)

<comment><USER2> Awesome thanks for all the excellent links. I find my way to your posts often, but didn't realize how often I bookmarked them in delicious.

Keep up the good work.

</comment></comment></comment><comment><USER4> I've turned several TED lovers onto Radiolab (not video, but great content sure to open your eyes, covers the intersection between science and culture with very well thought out themed episodes). When I listen to an episode I'm almost guaranteed a major WTF moment.

<http://www.wnyc.org/shows/radiolab/>

<comment><USER5> I agree. Also: <http://www.wnyc.org/shows/studio>

</comment></comment><comment><USER6> check out google talks: [http://video.google.com/videosearch?q=engedu&sitesearch=](http://video.google.com/videosearch?q=engedu&sitesearch=)

also at:

<http://www.youtube.com/profile_videos?user=AtGoogleTalks>

For more general topics, I like

<http://bestdocumentaries.blogspot.com/>

</comment><comment><USER7> google the "Long Now Foundation."

If you're really hardcore try MIT Open Courseware. If you can iron while watching SICP and _not_ burn your house down, you are the real thing.

For a lighter version of MIT Open Courseware, Stanford on iTunes has some decent audio lectures. Not sure if there's any video, though.

<comment><USER8> If I know the wizard book by heart - is that considered cheating?

<comment><USER9> Potter! Stop bragging, ten points from Gryffindor.

<comment><USER8> On the other hand ironing may be a challenge.

</comment></comment></comment></comment><comment><USER10> <http://www.confreaks.com/>

Mostly focused on Ruby so far.

Click on one of the events in the right sidebar.

</comment><comment><USER11> IT Conversations (<http://itconversations.com/>) has some good interviews and talks mixed in with the fluff.

</comment><comment><USER12> You don't say what your interests are, but the googletechtalks channel on YouTube has lots of interesting stuff, not all Computer Science related.

</comment><comment><USER13> <http://mitworld.mit.edu/>

"MIT World™ is a free and open site that provides on-demand video of significant public events at MIT. MIT World's video index contains more than 500 videos."

</comment><comment><USER14> Charlie Rose has over 4000 videos on his YouTube channel, if you're into in- depth, yet very calm interviews:

<http://youtube.com/user/CharlieRose>

</comment><comment><USER15> This really isn't intended for technical topics, but VideoJug.com is informative and hilarious. Videos are instructional, and include dating tips, reading body language, cooking, diy projects, negotiation, etc.

</comment><comment><USER16> Check out <https://www.miroguide.com/> for one of the most comprehensive listings of video feeds you'll find anywhere.

</comment><comment><USER17> <http://smashingtelly.com/> Quote from the site: "Smashing Telly is a hand edited collection of the best free, instantly available TV on the web. Not 30 second clips of a dog on a skateboard, or the millionth person to mime the Numa song, but classic clips and full length programs, with a focus on documentaries and non fiction. Smashing Television, not Gimmick Television."

</comment><comment><USER18> There are quite a few techy/etc. videos from the NZ Webstock conference here: <http://webstock.org.nz/past/recordings.php>

I've been enjoying them. The latest videos are from the conference held at the beginning of '08, so they aren't too old. Nat Torkington's, Peter Morville's and Luke Wroblewski's are all good and (often) front-end focused talks.

</comment><comment><USER19> Not particularly hacker, but great in depth reporting/documentaries. I usually end up stopping my 'ironing' and just watching the video though.

<http://www.pbs.org/wgbh/pages/frontline/view/>

If you are interested in foreign policy, there is <http://foreignexchange.tv/>

</comment><comment><USER20> <http://documentaries.videosift.com/>

</comment><comment><USER21> <http://www.researchchannel.org/prog/>

<http://video.google.com/videosearch?q=techtalks>

</comment><comment><AUTHOR> So this got 53 points on hacker news, 2 points on reddit.

35 comments on hacker news, 2 comments on reddit.

39 links on hacker news, 3 links on reddit, all of which were already in the hacker news thread.

</comment><comment><USER22> Also, see: <http://www.fora.tv>

</comment><comment><USER23> Physics for future presidents; entertaining, fun, educational

<http://muller.lbl.gov/teaching/Physics10/PffP.html>

</comment><comment><USER24> This isnt video but: [http://www.tvo.org/TVOsites/WebObjects/TvoMicrosite.woa?bigi...](http://www.tvo.org/TVOsites/WebObjects/TvoMicrosite.woa?bigideas_podcast)

</comment><comment><USER25> fora.tv is very good, although the talks aren't too technical. videolectures.net is highly technical though, and also very good (lots of interesting machine learning talks).

</comment><comment><USER26> Haven't watched all of these, but the High Perf ones are great:

<http://www.bestechvideos.com/tag/yahoo>

</comment><comment><USER27> Excepting the terrible execution, <http://expertvillage.com> seems to have a variety of how-tos.

</comment><comment><USER28> Check out <http://www.scitalks.com> \- many science talks from various sources.

</comment><comment><USER29> What's your reason for ironing?! That's way out of the Hacker mainstream!

</comment><comment><USER30> On television? If you're lucky, and have cable with a few good channels.

</comment><comment><USER31> intruders.tv

</comment><comment><USER32> <http://www.changethis.com/>

Samples on a whole lot of interesting subjects to get you to buy the whole video, but just enough the get something out of.

Short, too. Perfect for ironing.

</comment><comment><USER33> bigthink.com</comment>


Best Linux development laptop advice - <AUTHOR> I looked at the article on the lenovo-thinkpad-t460 and i assume its a Microsoft machine that uses a Linux install. What I am thinking of doing is building a laptop with raspberrypi3's Has anyone tried this? What is the canonical choice for linux laptops for developers? <comment><USER2> I recently went for something inexpensive - Acer C720P Chromebook and installed Ubuntu 16.04 on it. I couldn't be happier with it. If you're ok with something smaller and want to keep the price down (I think I paid ~$270), I recommend this!

Granted, getting the touchpad working the way I wanted took a little bit of work, but there are guides all over the internet.

[https://samsclass.info/128/proj/chromebooks3.htm](https://samsclass.info/128/proj/chromebooks3.htm)

[https://ubuntuforums.org/showthread.php?t=2228539](https://ubuntuforums.org/showthread.php?t=2228539)

What finally got everything working for me was installing the kernel for GalliumOS.

</comment><comment><USER3> * Lenovo ThinkPad T460 – A Good Linux Laptop for Development | Hacker News || [https://news.ycombinator.com/item?id=13299585](https://news.ycombinator.com/item?id=13299585)

Or

[https://hn.algolia.com/?query=linux%20laptop&sort=byDate&pre...](https://hn.algolia.com/?query=linux%20laptop&sort=byDate&prefix&page=0&dateRange=all&type=story)

This topic comes up a lot...

<comment><AUTHOR> thanks will have a look, collecting thoughts and ideas

</comment></comment><comment><USER4> It's possible to purchase a used ThinkPad for about the price of Rpi3, a monitor, keyboard, batteries, clock, webcam, etc. It will be an ntegrated system with meaningful RAM and a convenient form factor.

Raspberry Pi's are interesting but building a laptop out of them is not what I would consider a sound step toward obtaining a computer for general software development.

Good luck.

<comment><AUTHOR> What i like about rpi3 is that I can install docker instances for various development projects I am working on i already use the pi as an IOT gateway and a access point router. There is also the option to use more than on rpi per device. Look its WIP for now, lets see what i can come up with

<comment><USER4> I'm a big fan of Raspberry Pi. For me it fills a significantly different role than a laptop and therefore a laptop needs a different performance envelope.

<comment><USER5> The RPi for me is a dedicated framebuffer (no X) Emacs environment.

<comment><AUTHOR> I also use it for a test web server and vim/nano. Docker opens up a host of new opportunities like an ANPR instance or trained OCR/Identification/scanners really unlimited options

</comment></comment></comment></comment></comment><comment><USER6> If you want a little taste of a DIY experience with your Linux, you could consider the Dell Chromebook 13 (i5, 8GB). Upgrade the SSD to whatever size you would like and install GalliumOS or one of the other options. I am pretty happy with the net result. There are plenty of articles online on how to accomplish this along with the pros and cons.</comment>


Show HN: Pre-configured Django project, Git repo, and virtualenv with 1 command - <AUTHOR> http://builtbyptm.com/blog/announcing-django-project-builder-v01/

<comment><USER2> I have been a Django developer for a few years now. If you are like me and you start a lot of new Django projects, trust me when I say you do not have time NOT to use this. Awesome tool that helps you get up and running with an new Django project quickly. Go, now, quick...start using it.

</comment><comment><USER3> Or just have a skeleton/boilerplate code in a repo and clone it for each new project. Here's mine <http://github.com/senko/dj-skeletor> (feat. south, debug toolbar, raven/sentry, fabric).

<comment><USER4> Django also allows you to specify project templates [https://docs.djangoproject.com/en/dev/ref/django- admin/#star...](https://docs.djangoproject.com/en/dev/ref/django- admin/#startproject-projectname-destination) , very useful.

There is also support for app templates as well if you want to go that far.

</comment></comment><comment><USER5> I'm really sorry to get all critical, but if you personally have to SSH into the server to do setup _or_ deployment—especially if you have to be root—you're doing it wrong.

I also feel that if anyone or anything has to SSH into a server for deployment, it could be done better. I use Chef to automate all of this stuff; it's surprising that we have great tools like Chef, Puppet and CFEngine and people still feel the need to write custom collections of fragile scripts to get basic stuff done.

<comment><USER6> Of course deploying as root is doing it wrong.

However, I still haven't found enough reason to switch from using SSH for deployment. It's almost always three lines. ssh; git pull; ./manage.py syncdb/migrate/collectstatic.

The only hindrance has been configuring the site to work on the server for the first time, i.e what the site at this link claims to solve.

I've spent several hours on fabric before but gave up when I realised I've spent more time on learning it than the time I spent deploying my code.

Can you tell me what I am missing out? I'm still relatively new to django deployment and I feel I'm missing something but I haven't found it yet.

<comment><USER7> Idempotence, edge-cases, compliance ensurance.

What if you want to redeploy a configuration change to your web servers? What if you want to ensure such changes get re-deployed everytime a change is made to a config file?

<comment><USER6> I guess if you are deploying the same site to more than 1 production server these will become worthy problems to solve?

<comment><USER7> These are problems that can be solved in an afternoon, and then never repeated ever again.

You _need_ to be using automation.

We have something like 16-17 servers, of which 4-5 are actually production servers. Every single one of them was provisioned, configured, and are pushed to via my code.

Everything from haproxy, to the frontend web servers, to the backend web servers, to the frontend assets, the CDN, the image server, the backups, our staging cluster, experimental cluster, databases...all of it is automated.

Do it once, do it right, do it in code, never do it manually again.

The idempotence is just so you can repeat the same job over and over if it fails halfway between without causing any breakage.

</comment></comment></comment></comment></comment><comment><USER8> I wrote a tool (along similar ideas, starting out is always a needless time sink) called GluStik (punning Paster) [https://github.com/leetrout/glustik#default-djangoglu- method...](https://github.com/leetrout/glustik#default-djangoglu-methods)

Now GluStik scratched my itch of needing a very specific, custom layout, represented in code, and plopping in Django's files (like settings) so it provides hooks to use Django's templates. I'm curious what sort of design decisions went into project builder and what plans exist to support emerging trends?

For instance, I would much rather have a settings package with base.py and local.py inside where my local settings can extend base settings (like INSTALLED_APPS += ('debugtoolbar',) ala Brack3t's Modular Settings <https://github.com/brack3t/django-modular-settings>

I realize this isn't the default Django behavior but I know more than a couple developers that use this format. So if project builder is about "sane defaults" and the masses prefer this is there a plan to support it (or other, similar developer centric preferences that are outside the "Django way")?

<comment><USER9> We have included settings_local.py for development purposes, which gets imported by settings.py if it can be found. The main purpose for this is for the settings_local.py to be using sqlite3 rather than postgres, which is the default in settings.py.

Another thing which is kind of hidden is the ptm1.4 branch. This is a branch that includes a lot more, and will be growing quickly. We wanted the master branch to be generic as possible, and have it so people can easily switch out our defaults for their own, i.e. changing any of the files in django-files/ for their specific needs.

In regards to supporting other 'preferred practices', we welcome people to fork this repo and contribute stuff back. The master branch will be staying more generic, but we are all for best practices no matter if they are the "Django way".

<comment><USER8> You do see the difference between importing local settings into settings.py and importing both of them from separate modules in a package's init so they can override (per my example), yes?

I feel like you should take a harder look at the modular settings link I included. MUCH better way to solve this problem.

</comment></comment></comment><comment><USER10> The quality of this leaves a lot to be desired* and you would be better off with using a 1.4 project from somewhere like <https://github.com/xenith/django-base-template>.

*Hardcoded ubuntu user and hardcoded py26 and py26 paths in different files: [https://github.com/prototypemagic/django-projectbuilder/blob...](https://github.com/prototypemagic/django-projectbuilder/blob/master/server-scripts/new-virtualhost.py) [https://github.com/prototypemagic/django-projectbuilder/blob...](https://github.com/prototypemagic/django-projectbuilder/blob/master/server-scripts/new-virtualhost-subdomain.py)

<comment><AUTHOR> Release early, release often :-). We decided to launch this as soon as we thought other people could benefit from it. That day is today.

As stated in the docs, the server-side auto-deploy code assumes you're running Ubuntu. Removing such assumptions is a high priority (see TODO.md).

That said, the whole "start a new pre-configured Django project with lots of stuff pre-configured" thing is ready now and only assumes you're on a Unixy OS.

</comment></comment><comment><AUTHOR> Direct link to GitHub repo: <https://github.com/prototypemagic/django- projectbuilder/>

</comment><comment><USER11> Awesome tool - we used it at Startup Weekend San Diego!

<comment><AUTHOR> Congrats to your team for winning! Building a project in 54 hours is awesome... Django Project Builder took a bit longer :-D

</comment></comment><comment><USER12> excited to give this a whirl this weekend.

</comment><comment><USER13> shell scripting and templates for the win

</comment><comment><USER7> You guys would lose your minds with envy if you saw how my company automates Flask :P

<comment><USER14> Have any Flask projects in the wild for us to see? The "Powered by Flask" section in the Flask docs is full of quick toy projects.

<comment><USER7> <http://www.nutrivise.com/>

<comment><USER15> The about link is giving me a 404.

<comment><USER7> Noice, I'll go fix that now. Thanks!

You get a free beta invite if you like for finding the bug.

<comment><USER16> Heh. Whatever nifty location rewriting javascript you're using makes it impossible for me to browse your site - eg. <http://www.nutrivise.com/#terms/> just points to your homepage.

Also: the 'terms of use' on that page are bogus. "The most advanced nutrition system [evar!!1!]" vs. "NUTRIVISE MAKES NO WARRANTIES ABOUT THE ACCURACY, RELIABILITY, COMPLETENESS, OR TIMELINESS OF THE MATERIAL OR THE WEB SITE ... WHETHER BASED ON THIRD PARTY INFORMATION OR ON RATINGS GENERATED BY NUTRIVISE." Oh? So what are people paying you for then, if not expert advice that you're willing to stand behind?

<comment><USER7> The location rewriting is the Backbone router stuff that uses pushState. Pretty common HTML5 stuff, you'd have to be using a moderately old web browser. Most common one we're aware of that's guilty of not supporting this is Firefox 3. What's yours in this case?

This is how terms of use work on most websites. In our case, we're in a particularly tricky situation because the meal plans we lay out have the ability to be incredibly useful to our users, but only if they actually comply with them.

Since compliance isn't something we can ensure without a human being watching them 24/7 (including when they're asleep in case they're sleep-eaters, an actual phenomenon), we have to put in place that terms of use for that reason and others.

Others including situations like people with severe allergies. We cannot guarantee the absence of allergens in recipes/food coming from some of our third party sources. To guarantee as much _would endanger the health of our users and would be irresponsible_.

I'm sorry you don't feel we don't stand behind our product. We really do stand behind what we do and believe we're working on something that has the potential to help a large portion of westerners with weight issues.

The nutrition researchers and dietitians we work with feel so strongly about our product that it's being used in a weight loss case study involving _many_ subjects that will allow us to further refine our already substantial improvement on the current state of consumer nutrition.

My email is in my profile, contact me if you'd like to discuss this further. I'd be interested to hear what you think we could do to better show we feel confident about our software.

<comment><USER16> Yep, Firefox 3.6.24. The most up to date one on the version of Linux that I'm using at work. I'm not sure why you/backbone need to rewrite the URL though - surely a vanilla page would work just as well?

I understand compliance, allergies etc. are a tricky issue. There a more narrow disclaimer and/or warning (eg. this recipe contains nuts/gluten/...) would be definitely appropriate, not to mention useful if it were on the actual recipe page.

But that's separate to the information that you're providing - I assume meal plans and exercises? In that case the disclaimers completely overstep the mark, and undermine any claims of competence. Would you trust an engineer who disclaimed all liability should their bridge fall down? Or a doctor who wanted you to waive the right to all negligence suits?

<comment><USER7> >Yep, Firefox 3.6.24. The most up to date one on the version of Linux that I'm using at work. I'm not sure why you/backbone need to rewrite the URL though - surely a vanilla page would work just as well?

It's not really that simple, it has to do with how Backbone falls back when the pushState functionality is missing and how it interacts with the structure of our site. We're currently looking into better ways to shim/workaround this somewhat lackluster default functionality.

>I understand compliance, allergies etc. are a tricky issue. There a more narrow disclaimer and/or warning (eg. this recipe contains nuts/gluten/...) would be definitely appropriate, not to mention useful if it were on the actual recipe page.

I just listen to the lawyers (and my CEO) on these matters. My job is to build product to help people.

>In that case the disclaimers completely overstep the mark, and undermine any claims of competence. Would you trust an engineer who disclaimed all liability should their bridge fall down? Or a doctor who wanted you to waive the right to all negligence suits?

Would you refuse to work with a doctor because he had malpractice insurance or an engineer because he worked through an LLC? It would be irresponsible for either of them to do without.

You seem to act as if our terms of use is somehow extraordinary when it is anything but.

I'm not here to debate hypothetical circumstances, just make things to help people.

Let me know if you want a beta invite via my email address so you can decide for yourself.

<comment><USER17> One solution to the lack of pushState is to just offer the non-JS version of your website to such old browsers. Easiest way to do that is to have the JS bits disable themselves if pushState isn't found.

<comment><USER16> Or, you know, just use regular links. That part of the site isn't a web app, it's just a regular web page. Why make things more complicated than they have to be?

edit: Particularly when I just tried it at home in Chrome, and it ended up at <http://www.nutrivise.com/terms/> anyway. Or did you come to the same conclusion re: links?

<comment><USER17> My conclusion was essentially the same, yes. Degrade to links for browsers without pushState.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


If you work more, you'll die sooner - <AUTHOR> http://www.economist.com/blogs/freeexchange/2014/01/working-hours?src=hn

<comment><USER2> What is defined as work? I code for fun. I code at work. Where do we draw the line?</comment>


Slaying Fake News - <AUTHOR> https://medium.com/@marinsmiljanic/slaying-fake-news-2aabdae06f57 <comment><USER2> PageRank is a popularity contest, not sure why you'd put so much trust into it as a reliable proxy for content quality. Lots of crap can be popular. Perhaps Google is doing a decent job eliminating crap from their search results (debatable), but that's not an outcome of a naive application of PageRank.

<comment><AUTHOR> Author here, thanks for the thoughtful reply!

> Perhaps Google is doing a decent job eliminating crap from their search > results (debatable), but that's not an outcome of a naive application of > PageRank.

Is this actually the case? We don't have a good way to test it, but I believe that you wouldn't see the crappy articles I referred in the first N results even with vanilla PageRank (and for a very large N at that).

Keep in mind that my definition of fake news is pretty narrow here: it's "Pope Francis endorses Trump" rather than "Fox dismisses COVID-19 threat" or spin of that sort, which is probably what you meant by crap.

There will certainly be blind spots like the ones above, but my goal is to eliminate the most egregious miscreants and the method outlined will achieve that (well, we'll test it and see how it goes).

</comment></comment><comment><USER3> This event happening tomorrow might be of interest: [https://www.usfca.edu/event/2020-04-29-1200/misinformation-a...](https://www.usfca.edu/event/2020-04-29-1200/misinformation- and-covid-19-critical-data-science-approach)

<comment><AUTHOR> Great subject, great panelists, thanks!

</comment></comment><comment><USER4> Interesting - good read on the ramifications of fake news today. Love the idea of a "reputation score"</comment>