Amazon, Microsoft join Italy's initiative to offer free Wi-Fi, eBooks - <AUTHOR> http://alugy.com/europe/amazon-microsoft-joins-italys-initiative-to-offer-free-wi-fi-ebooks-unlimited-mobile-data/ <comment><USER2> As far as I can see, Teams is going to gain A TON of users in the coming weeks, most universities and schools are starting to use it to provide online lessons to their students, far more than Meet

<comment><USER3> As a student in one of the main universities in northern Italy, I can tell you the lessons are provided through the open source platform BigBlueButton. Student/teacher personal sessions although seem to rely primarily on skype.

<comment><USER4> Strange, a BBC news clip I saw the other day had an italian professor saying they are all using webex.

I can't imagine how frustrating using that for lessons (so multiple connected parties) would be - it's hard enough to make it work with just two parties. Either the video works and no sound, or sound works but no video. Or just doesn't even connect.

Very unreliable from what I've seen.

<comment><USER5> did they show webex? or might it have been a 'kleenex' brand name issue? any video-conferencing is 'webex' to a lot of folks.

</comment></comment></comment></comment><comment><USER6> I'm fairly concerned about SARS-CoV-2, and think it's going to be absolutely awful - but although it's already terrible in Italy I don't think it's yet terrible enough that I believe this is a genuine outpouring of moral solidarity. Maybe that doesn't matter, but my gut reaction is pretty far from 'oh that's jolly good of them'.

<comment><USER7> I got an email from Meraki today capitalizing on the virus, encouraging me to run a few demos of the teleworker units. The whole thing was about saving my employees from exposure.

It's absolutely gross.

<comment><USER8> I don't quite get why it's gross.

Presumably you'd want to find wfm/etc. solutions ?

<comment><USER9> If the company came across as trying to cash in on an international crisis, I can see why that would be off putting.

</comment></comment></comment></comment><comment><USER10> I hope that this Corona virus epidemic is going to be the thing that finally pushes broadband expansion to the countryside in Germany...

<comment><USER11> As this is nothing you can change by pushing a button in your billing system i wouldn't hold my breath. But how much bandwith does in really need for remote work as a office worker? RDP should work ok over anything better than dial up.

<comment><USER10> I was thinking more about schools switching over to remote education like they currently do in China. I guess that this sort of app and video conferencing system is currently infeasible in the more rural parts of Germany due to lack of bandwidth.

<comment><USER12> Its not only the lack of good infrastructure. The schools don't have the necessary skills to maintain these kind of systems and often don't have enough money to outsource

<comment><USER13> It'll likely never happen in the United States because of what you mention and the fact that NSLP (National School Lunch Program) and the SFSP (Summer Food Service Program) feed a LOT of children.

My fiance is a high school teacher and they began preparing online lessons yesterday in the event they need to shut down for 2 weeks but they're also scrambling to figure out how to feed the kids the 2 meals a day a lot of them get _and_ how some of the students are going to do their laundry. A good portion of the students do their laundry at school in coin-operated washers and dryers in the home economics room.

In her first class of 30 something students, all but 2 or 3 get fed 2 meals a day by the school via NSLP. Yesterday she was also telling me the school nurse is concerned as many of the students come to her for basic over the counter medicines and feminine products. She's also a track coach and it was cool and wet yesterday, most of the students shwoed up without the provided hoodie/pants and said they didn't want to get them sweaty because then they couldn't wear them to school (implying they had no means to launder them except for at school) so her and the other coaches rounded up all of the stuff that had been left by previous years and she took it all home to wash and mend ripped pockets to bring back for those students.

When kids are depending on the school for their meals and basic medical/hygiene needs... I can't see online classes becoming a thing for many of the schools in the country.

<comment><USER13> You know, after this comment has percolated in my mind a bit it suddenly hit me that 'the stacks' in Ready Player One are much closer to reality than I'd ever expected.

Honestly I had no idea this was the situation in high schools until we started dating. I would have been class of 2003 and sure we had some 'poor' students but we only had a handful of immigrant/refugee kids that you'd see getting the free food (we typed our code into a keypad that carried a balance or paid cash, you could always tell who was on a free lunch though because you were restricted to what you could take and everything was a la carte).

Her current school also has some serious drug issues which was quite surprising to me. They had to expel some kids for vaping something other than nicotine in the past 2 months, turns out they were vaping something that contained _fentanyl_ (how they got caught, they kept falling asleep in class and were hard to wake), they regularly have bring in drug dogs for both marijuana plant matter and thc vape cartridges, they recently had to remove two students for having sex on grounds and had to turn them over to the police because the male student was filming it with his phone and they were both underage, etc.

It would be amazing if we could just let kids attend from home when sick, during adverse weather, during outbreaks (lice, COVID-19, chicken pox) but the stuff she keeps telling me...

A school here has at least 2 students confirmed with COVID-19 (Avon, Indiana schools) that decided to close all of the schools this week and it's almost entirely a solid middle class school and even they've had trouble just this school year with some instances of drugs and a senior committed suicide around the holidays which sent a bunch of kids spiraling.

I obviously don't know how things are in Europe but I think schools are between a rock and a hard place here in the United States. In many cases teachers may be the only positive attention kids get in person, and the only one that will notice when something is wrong (at her current school and her previous school cutting has been a very big issue).

I'm rambling but the state of schools right now deeply concern me. This up and coming generation seems to have far more problems than mine did.

<comment><USER14> Holy crap.

This made me recognize my privilege and the _massive_ gap in facilities between schools. I never thought it was that bad in some American high schools. I went to a pretty high-performing school where the biggest problems were anxiety and depression, not (this still shocks me) _actual hard drugs_.

Thank you for sharing your SO's experience. It's eye-opening to say the least.

<comment><USER13> Yeah it's been very eye-opening to me too. Prior to this school she was teaching on a Navajo reservation near the Idaho/Utah border. I didn't realize just how bad reservations are. There she said she had students that often only had 1 or 2 outfits and would wear the same clothes to school every day, so she'd find reasons to 'reward' clothing and she'd go to thrift stores and buy a bunch of t-shirts/jackets/hoodies. She also had a lot of students who's parent(s) were in jail/prison and were living with relatives, students that had been sexually assaulted by relatives, students that absolutely did not want to be there but came anyway for the meals.

It just blows my mind that even here in the United States you can have kids graduating high school with 2-year Associates degrees as well that have access to 'robotics labs' and the like while you have kids, sometimes in the same city, that have to do laundry at school.

If you start massaging reddit and various teacher's forums, you can see this over and over though in apparently every state in the United States. Schools with all the fancy stuff and schools that are basically places for kids to come to eat 2 meals and try and stay out of trouble for a third of the day.

What gets me also is the sort of things students write on their papers/tests. She'll show them to me as she grades them and you'll have very nihlistic catoons drawn out as maths answers or "I'm stupid fail me" "I don't get this fail me" type phrases or just complete nonsense written. She showed me one recently where the student had to have spent the entire test writing and stylizing her name in some elaborate work while not answering a single question.

I definitely have a _lot_ more respect for teachers now than I did prior to meeting her.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> This is awesome for students from poorer districts who have no access to the internet when COVID-19 keeps them from school. A fairly good move for education equality. Besides, it would be better if free (cheap) tablets are also offered.</comment>


Show HN: API Mockery – Generate Custom Http Response to Mock APIs - <AUTHOR> http://apimockery.com/ <comment><AUTHOR> I have been planing to learn reactjs as a backend guy, so I developed this over the weekend. Although I spent most of my time configuring the server stuff (I am new to all of these), it was a fun journey.</comment>


Meet the IOIO - USB breakout board for android w/48 digital+analog IO pins - <AUTHOR> http://ytai-mer.blogspot.com/2011/04/meet-ioio-io-for-android.html <comment><AUTHOR> This basically turns your android phone into an overpowered arduino which runs java. Genius. I can see some brilliant hacks coming from this.

Pre-order here: <http://www.sparkfun.com/products/10585> ($49.99)

<comment><USER2> within N years you'll be able to pick an android phone out of the trash. I suspect N < 5\. That makes projects like this really awesome.

<comment><USER3> If by "pick out of the trash" you mean "really cheap" then I think that has already happened. You can pick up a G1 for $20 on eBay.

</comment></comment></comment><comment><USER4> This is really cool!

I've spent the past few weeks working on this[1] with my brother (he built the case and wired/soldered everything; I handled the firmware) and I can think of some awesome applications for this Android board. I'm really excited about the idea of building an Android powered MIDI controller now :)

[1] <http://www.djtechtools.com/forum/showthread.php?t=28014>

<comment><AUTHOR> Beautiful work! I love the arcade cabinet style buttons. What kind of things are you looking to trigger with it? I imagine mashing up breakbeats with those buttons would be really compulsive :)

<comment><USER4> Thanks!

My brother plans on using it for DJing with Traktor.

The ideas is that you never ever need to touch a laptop while DJing. I would love to extend it to use an android phone as a display (so that the laptop can be hidden away under the table or whatever).

At the moment, we have 4 banks which change the MIDI channel of everything else, and 4 banks for the 16 midifighter buttons. These four banks basically map to each one of four Traktor decks. The 4 "global" banks are then used to choose between browsing through songs, loops, various deck control commands and effects.

 _I imagine mashing up breakbeats with those buttons would be really compulsive :)_

Its addictive to mash the buttons and see what happens :D Even an unmodded midifighter provides hours of fun, even if (like me and unlike my brother) you're not terribly musical.

Anyway, we had a little setback - think we may have fried the atmel mcu.. :'( but once its all finished and cleaned up, I intend on releasing the code and writing a blog post about it, which I'll probably submit to HN.

<comment><AUTHOR> For the screen, build a model with a grey market PSOne display and a touchscreen layer fitted. That'd be amazing.

You should submit to <http://hackaday.com> as well. They'd most likely feature it.

Also, have you heard of <http://hexler.net/touchosc> ? It's brilliant fun on the ipad, I've never tried it on android, but there is a port.

<comment><USER4> Thanks for the suggestion! I'll look into that. Hackaday is a good suggestion too :)

Touchosc looks interesting too, I'll have to give it a try.

</comment></comment></comment></comment></comment><comment><USER5> That visual charger is slick.

A little OT, but does anyone understand why there aren't usb-to-ethernet adapters for android devices? I have an environment where I cannot use wifi but want network connectivity.

<comment><USER6> One of those G's isn't enough? 3G? 4G?

<comment><USER7> Bandwidth over 3G or 4G is rarely free; bandwidth over wired Ethernet very typically is.

</comment></comment></comment><comment><USER8> That seems cool? But can I get one with a bluetooth interface instead of usb?

<comment><USER9> Something like this : [http://www.connectblue.com/products/bluetooth- products/bluet...](http://www.connectblue.com/products/bluetooth- products/bluetooth-modules/bluetooth-io-module-obi411/) ?

Of course, it would be easier to buy if it were on SparkFun...

</comment></comment><comment><USER10> Just getting into electronics AND just put my old (non smart) phone through the washer. I guess I'm going to have to get an android!

</comment><comment><USER11> Ordered! This looks like fun. :)

</comment><comment><USER3> Any plans to bring the retroid into mass production? I'd buy one!

</comment><comment><USER12> Genious!

Does anyone know if there are similar equipment for PCs? I want to hook up a laptop to some electronics equipment for data logging.

Arduino boards are pretty slick but they need some wrapping to work smoothly, i want to have more recommendations.

For clarification, i want the I/O API to be targeted for a program running on the PC. I don't want to write a wrapper in the microcontroller myself and then transfer it over serial port to PC. I want the microcontroller block to be transparent. PC<\--->Microcontroller<\--->I/O

<comment><AUTHOR> You can always chop the end off an old parallel cable and manipulate the state of each pin using whatever language you want on the PC. It's known as 'bit- banging' I believe. It's a simple way to do GPIO.

<comment><USER12> Most new laptops doesn't have parallel or serial port :(</comment></comment></comment>


How the NASCAR-like experience of new PCs hurts customer confidence - <AUTHOR> http://www.keepingitrural.com/nascar-pc-experience-hurts-customer-confidence

<comment><USER2> All those decals are there on your windows pc for the same reason they are there on the racing cars. To subsidize the cost of the machine. You got your windows computer for $500. How much was your mac?

If I ever become obscenely wealthy, I'm going to buy a NASCAR team 100% myself. My car will be all white and on the hood, in large friendly black letters (Helvetica no doubt), it will say _"Racecar"_. That ought to drive those red-staters nuts.

<comment><USER3> That would be awesome.

</comment></comment><comment><USER4> I like all that crap. It makes me feel smug as I scratch off the logos, remove the decals, and erase the stock OS.

If it was just a blank machine with nothing on it, I wouldn't get that feeling.

I do feel sorry for someone that thinks the default install on their laptop is suitable for actual use, however. Sometimes these techie jokes go a little too far...

</comment><comment><USER5> The problem with PCs is not the existence of cheapo systems like this, but the absence of machines that compete with the Mac for industrial design and user experience. It doesn't seem to be possible to buy a PC that isn't butt-ugly and comes loaded with crapware, regardless of how much you're willing to pay.

My theory is that when Apple builds a computer, they know they're going to sell millions of a particular model, so it's worth spending the time to build it properly. PC makers have higher volume, but it's spread across thirty models with a dozen variants each, updated yearly, so they can't waste time making any of them particularly good.

<comment><AUTHOR> I wonder how a Mac-like PC (no trialware, no excessive stickers, minimal blinking lights, etc) would sell. The kind of people who appreciate that and are willing to pay a premium buy Macs. The kind of people who don't or can't appreciate that save their money and go with a PC. It's almost a cultural issue.

I agree that when Apple can use a specific model design for years, simply changing out the internal components for several revisions, they can put more money into a solid design.</comment></comment>


Academia.edu launches, a Geni For Researchers - <AUTHOR> http://www.techcrunch.com/2008/09/16/academiaedu-a-geni-for-researchers/

<comment><USER2> How did these guys get a .edu domain? I thought only accredited colleges were allowed register those.

<comment><USER3> They've had it for quite a while.

<comment><USER4> yeah, i think they were grandfathered in. very cool ideas, i hope they do well. their UI seems a bit overcomplicated, though.

www.scilink.com is the only other player i know of sorta in this space (and labmeeting, as mentioned). anything better out there?

<comment><USER5> [http://en.wikipedia.org/wiki/Academic_databases_and_search_e...](http://en.wikipedia.org/wiki/Academic_databases_and_search_engines)

Of the search engines listed, I think Scopus and Web of Science both compete in the area of linking papers together by citations, but I don't really use either.

</comment></comment></comment></comment><comment><USER6> Yuck. A great reminder why you shouldn't use Flash to build a key navigation element of your site. This particular site is slow, and it behaves in very unexpected ways. Is there any advantage to using Flash in this situation?

</comment><comment><USER7> I think that a simple nested list view would be more useful to browse departments. The tree is nice too, but not very practical at the current speed.

</comment><comment><USER8> site's unusably slow (right now)

</comment><comment><USER9> profs are just like you, they want to scope out hot chicks...which is why they will continue to use fb</comment>


TDD isn't dead just because DHH can't do it - <AUTHOR> http://rubylove.io/2014/04/24/TDD-isnt-dead-because-DHH-cant-do-it/ <comment><USER3> So, was this meant to be a counter point to DHH's article in any way? I really just got that you're mighty pissed that RR Parley banned some of your posts.

Dually, DHH didn't say TDD was dead, he specifically said "TDD is dead /to him/".

Really, I think the most important take away even for people who disagree, is this: > I don't think that's healthy. Test-first units leads to an overly complex web of intermediary objects and indirection in order to avoid doing anything that's "slow". Like hitting the database. Or file IO. Or going through the browser to test the whole system. It's given birth to some truly horrendous monstrosities of architecture. A dense jungle of service objects, command patterns, and worse.

I'd like to see someone form a well constructed argument for why that statement is inaccurate, over-stated, or otherwise unfair instead of just ranting about how trying to disagree with what DHH posts ends up putting you on the receiving end of a bunch of zealous admins.

<comment><USER4> > I'd like to see someone form a well constructed argument for why that > statement is inaccurate, over-stated, or otherwise unfair

Here's his statement again, rewritten without the Fox News-style editorialization:

"Test-first units lead to a graph of intermediary objects in order to avoid doing things that are outside the scope of your test. This practice isolates the piece of code you are testing, but as a side-effect means that you don't do unnecessarily slow work like hitting a database, filesystem or web browser. It has given rise to new patterns of application architecture such as a service and command layers."

Oops, I wrote all the same facts but stated them neutrally, and now it doesn't sound like a horror movie! How am I supposed to bully Rails devs into following my style?

<comment><USER5> > Here's his statement again, rewritten without the Fox News-style > editorialization

And here's me applying your own technique to that sentence: "Here's an editorial rewritten without the editorialising". You then feign surprise that that doesn't leave much.

DHH's point was that the resulting graph of intermediary objects is (in his experience) overly complex - the implication being that, where possible, simple is better than complex (which, yes, is a value judgement).

<comment><USER4> DHH does have a point, but he makes it in a manner that is hyperbolic, accusatory, narrow-minded, stubborn and often rude. I find him to be a negative voice in the community and a dangerous leader. I am happy to fight fire with fire where necessary, and agree with the tone of the article linked by the OP.

<comment><USER6> > hyperbolic, accusatory, narrow-minded, stubborn and often rude

Plus:

> fight fire with fire

Seriosly.

<comment><USER4> Sure, why not? See the "asshole vacuum" scene in HBO's Silicon Valley S01E02.

</comment></comment></comment></comment></comment></comment><comment> bulte-rs I don't agree with DHH on most of it's design decisions (but who am I, I don't have the same 'track record') but I do agree wholehartedly with his opinion voiced in his rant/"article". Sure, the title is a flamebait pur-sang for TDD zealots.

Like Slackwise said below; TDD isn't dead but everyone considering it as a silver bullet should scratch their heads... twice, and rinse and repeat.

> YOUR code is hard to test BECAUSE you don't TDD.

<downvote mode on> YOUR code is hard to understand due to high levels of decoupling; overuse of abstractions and refactorings for the sake of code beautification. But at least it's tested! <downvote mode off>

</comment><comment><USER7> This post has nothing to do with the title. The content of the post clearly shows that the writer is upset that the way he is expressing himself isn't acceptable in somewhere like the Ruby Rogues Parley.

I'm a member of the Ruby Rogues Parley and I saw your posts. The combination of you swearing a few times and calling people out for "TDD challenges" is what made people flag your post, not because of your ideals. People on the parley _respectfully_ disagree with each other all of the time.

<comment><USER8> Every once in a while I'm reminded of the negative side of the ruby community that people always talk about. I'm not entirely sure why there seem to be a ton of highly negative and highly vocal people giving it a bad name, or if it's even anything other than my selective bias, but it is really unfortunate. For every Matz and Jim Weirich there seem to be ten Ruby rockstars who think the best way to make a name for themselves, or have their argument known is by being the biggest bully.

Are other communities like this or is it more pronounced in the ruby community?

<comment><USER9> It honestly seems like it's more prominent in the ruby community, and I'm not entirely sure why. Part of it may be that ruby is so expressive and nice to work in that it ignites people passions, which can be good or bad... I can say, however, that years back when I was trying to get into ruby from PHP, people like this gave me a very negative view of the ruby 'community' and were the biggest obstacle I had to embracing ruby.

</comment></comment></comment><comment><USER10> I strongly believe software needs to be tested, and that tests need to be written to avoid repeating yourself (or screwing yourself over) later on, but trying to write such tests using a TDD approach absolutely destroys my ability to think laterally and creatively and come up with new effective approaches to problems.

If I'm working on something that I've already done, then TDD may work alright, but if I'm doing that rather than searching for some library or code I've already written, then I'm failing already. If it's something simple, then TDD is also not a problem, but at that point I'm really wasting my time.

TDD stunts design, thinking, and refinement ability, and only works when there is nothing left but execution. In my mind, as long as the tests get written (and obviously makes sense to write them at around the time the function/method/class is written), then I'm alright. Also, I usually don't know what a class will look like until I've written it, used it for a little bit, tested it manually, etc. If I were to write a test for it prior to this, then I'd be wasting time. I don't know how people are able to write these tests, and separate everything out beforehand. I'm not comfortable or satisfied with what I've written, until I see it, play with it, test it manually, then use that data to go back and smooth out and refine what needs to be.

I'm wondering if this is an MBTI judger/perceiver issue, with judgers being more able to wire their minds into that of a TDD'er, while perceivers see it as fundamentally problematic.

</comment><comment><USER11> To quote The Big Lebowski:

"You're not wrong, Walter. You're just an asshole"

The author gets all riled up about being banned for his 'challenge of DHH', when (if this post is any indication) its likely his attitude that got him in hot water.

</comment><comment><USER12> > YOUR code is hard to test BECAUSE you don't TDD.

TDD isn't dead, but it also isn't a silver bullet.

<comment><USER13> Exactly. What all this foaming at the mouth ignores is that it is very possible to do "TDD" and still accomplish nothing useful.

I've seen tests that for all intents and purposes _will never fail_ because they are testing the wrong thing. Write a huge method that has numerous side effects, but only test the return value? Essentially useless!

<comment><USER14> Indeed. There are plenty of things that are hard to usefully test.

Multithreading code? Enjoy using TDD to ensure it has no livelocks, deadlocks, or missing memory barriers leading to reordered operations. Especially if it's inlined in multiple contexts...

Graphics code? Needs to look similar (but not necessarily exactly the same) across a wide range of OSes, underlying APIs, GPUs, and driver versions - <USER2> many of the same concerns as multithreading code.

Cryptographic code? Well, perhaps heartbleed could've been caught ;). But all the well intentioned MD5 unit tests in the world won't make it useful (in- context)...

<comment><USER8> I'm not a TDD adherent in any way, but depending on the language you can get some interesting results with automated tests and concurrency. Erlang has a number of applications which automatically reorder the scheduling of the various processes running in order to (hopefully) ensure the code doesn't die when run concurrently. This is much easier to do in certain languages (ruby obviously not being one of them).

Then again, traditional livelocks, deadlocks and improper use of memory barriers aren't really the problems that you would face at the level of abstraction that Erlang provides.

<comment><USER14> There's also tools like CHESS to do that kind of thing in Microsoft's ecosystems: [http://research.microsoft.com/en- us/projects/chess/](http://research.microsoft.com/en-us/projects/chess/)

</comment></comment></comment></comment></comment><comment><USER15> TDD rocks if you do it well. You know what? NoTDD rocks if you do it well, too. There is no 'one true method' for development life - conditions change, and you have to be prepared to apply the right process according to the nature of the task.

If you're building something that has to be safe, say .. a life-critical system - you better be damn sure you are testing absolutely every single thing. Everything.

If all you're doing is setting up another hipstersite on the interwebs and hope to have a few million groupies soon, well .. maybe you can avoid the tests, and just wait for the support mails. That's also a valid way to get things done - if it works for you.

</comment><comment><USER16> > _DHH does not need to be held up like a treasure or someone to emulate > unless you want to be a handsome with a big attitude and a nice car and > loads of money._

BS ad-hominen's like these probably exlain why his comments were hidden and he was banned after 6 posts.

And that's the peak -- the rest goes downhill:

> _Personally, I want to write craftsman quality code. I want to explore using > academic practices like functional programming to make my code cleaner > still._

I mean, seriously? It's 2014, nothing academic about functional programming practices. This kind of talk doesn't grow confidence in the poster's vast knowledge of the field, and deep experience.

</comment><comment><USER17> In my experience, TDD and unit testing is awkward and uncomfortable when working with application code, since you often find yourself simply testing dependency wrappers, which has limited value. On the other side, integration tests are kludgy and uncomfortable when working with library code. "Round peg, square hole" and all that. I often see two sides arguing for a universal testing strategy, when the use cases are very different.

I try to treat tests as nothing more than repeatable artifacts of whatever I was trying to do to verify the code I was writing was working. So if the code was primarily aimed at hitting a bunch of web services and making DB calls, then the tests will end up as integration tests naturally. If the code is doing a bunch of isolated calculations, then it will probably be unit tests.

This is a classic case of developers talking past one another and trying to force their use case on others in my opinion.

<comment><USER8> "nothing more than repeatable artifacts of whatever I was trying to do to verify the code I was writing was working" I really like this way of looking at things, and think I might adopt it myself. It's kind of a nice way of saying "test the interface", but more like "test the interface of the code exercised by the primary consumer of the interface".

</comment></comment><comment><USER18> Synopsis:

Pay to play discussion bans person for trollish posts following requests for better behavior from moderators in reaction to previous trollish posts. By logical inference this banning proves that intelligent discussion which admits the possibility that TDD has shortcomings is nothing but cargo cult hero worship of a technically inept has been and that TDD is the sole true religion.

Commentary:

In my opinion, this is why hell banning may be better for cases where there is not a shared set of standards between moderators and posters. The loss of audience is not so apparent immediately and the lag time means there is less likelihood of immediate escalating reaction while the poor behavior is still spotlighted. Hell banning also offers the possibility of readmission should behavior change with the retention of identity.

</comment><comment><USER19> The best way to convince people to write tests is to remind them that they are already writing tests, but they're throwing them away. If you're writing a method, you are almost certainly testing it with a bit of code to verify the output. You're probably writing one of these little tests every 5 minutes. Save them in a folder called "unit tests". Are you writing code to make sure one part of the API works with another? Save it in a folder called "integration tests". Opening up a browser to make sure the right stuff is appearing on the right part of the page? Save it in a folder called "functional tests". Put in a code coverage tool to make sure you're calling all the code you've written in a test - personally this usually happens when I "got rid" of code without actually getting rid of it (rot).

I mainly work in Ruby and Rails these days, and I'll concede that it all gets a little blurred (and I did plenty of handwaving in that previous paragraph, but you couldn't see it because I was typing). But as long as you're doing something like that, I really do think you'll end up with a well tested app with full coverage.

TDD? Well, sure, I've done it, but I'm not going to insist on it, for myself or anyone else. You could write that integration test first, or you could write it iteratively. You could write a functional test that makes sure a bit of text is present on a web page, and then write the the code that generates that bit of text, or the other way around. I don't see it making a big difference - other than that forcing people to write the test first can be a mental intrusion that badly disrupts their thinking process on certain types of tasks.

In spite of all that, I (like a lot of people on HN, regardless of where they stand on TDD) would welcome a compelling rebuttal of DHH's recent blog post.

</comment><comment><USER20> Your code is not hard to test because you don't do TDD. There is a different rule:

python -c 'from subprocess import *; print Popen(["python", "-c", "import this"], stdout=PIPE).communicate()[0].splitlines()[-3].replace("explain", "test")'

Yeah I know it's ruby thread :)

</comment><comment><USER21> I think TDD is good when writing something you've done a few times before ("I know exactly how to write this app"). I tend to get projects that require exploration. I refuse to write a bunch of test code for each new class knowing that I might delete the class later.

</comment><comment><USER22> Ad hominems seldomly make for a constructive argument.

</comment><comment><USER23> 'I possess the only truth and you need to prove me wrong not the other way around'.

I witness this so often I'm starting to believe it's the motto of the software industry.

The drift to fundamentalism about TDD over the last years is just another example. TDD is a good methodology that can save time and improve code quality, but only if understood and performed correctly.

That means more unit tests does not equal a better design and easier to maintain code base produced in less time. Better unit tests, testing non trivialities and accepting the limitations of unit testing does.

You cannot possibly test all states on a sufficiently complex, non trivial program constantly evolving to better fit its users' needs as they are discovered and redefined. And that's not the basis of TDD: Outlining your design by identifying its fundamental parts and writing tests for them before implementing them is.

Back to the main topic, I have seen people rant about version control systems, integrated developing environments and all kinds of tools and procedures involved in the software development process: They all take a few good arguments and stretch them to irrationality.

For example: how can somebody like git and HATE mercurial, bazaar... Maybe you prefer one or the other and you have your reasons, that's alright: Different tools for different people. But am I a dumb person for having different preferences? And if I'm not, does that mean you are dumb? I've seen pretty dumb things done by developers using every tool/methodology, including myself. Usually the reason is their lack of experience and understanding, much more often than using the wrong tool/methodology.

TDD or whatever, once you learn you'll do fine. But don't be an asshole and blindly criticize people who prefer doing it differently, even if you are the smarter one. Specially if you are the smarter one. And just because you don't understand a tool or methodology (yet, or ever) it doesn't mean people using it are dumb, that's all I'm saying.

TDD has been proven effective. TDD hasn't disprove all other effective approaches out there. Specially the ones yet to be discovered by less arrogant people.

</comment><comment> why-el Well he said "TDD is dead long live testing" didn't he? I don't even agree with David on some parts but but you can't write a rebuttal based on half a title.

</comment><comment><USER24> Ruby and Rails are far bigger than any one person, and the types of apps many of us build today can be far more complex than Basecamp.

Saying that though, digging into what DHH said, he was really just arguing for pragmatism and the testing pyramid. He just used the wrong words to express it.

Let's be craftspeople, let's use the right design patterns, let's decouple our apps and test the right bits in abstraction, but let's also be agile and pragmatic.

</comment><comment><USER25> This is turning into quite the flamewar. It's like Vi versus Emacs. I applaud DHH for challenging the TDD zealots and stirring the pot a bit.

</comment><comment><USER26> The more things change, the more they stay the same...

It seems people always have a tendency to worship something, to let the means become the end or what is supposed to be their servant become their master.

TDD is a tool to ensure software quality. If TDD works for you then great. If you can achieve the same results with another method it's just as great. But I find the religion wars over it quite silly.

</comment><comment><USER27> OT but I think that there is a place for a new programming language designed around making testing and TDD easy. Maybe the test code can be written in a higher level DSL or dialect of the same language.

</comment><comment><USER6> It's not the arguments he uses, it's his tone. He's basically temperamental and irrespectful.

I agree with his points, but I would also have banned him.

</comment><comment><USER28> I think author is just in wrong community. Some modern strongly typed language would suit him better. Hell even Python would do.

</comment><comment><USER29> The original title should stay :)

</comment><comment><USER30> tl;dr: Acronyms, abbreviations, anecdotes, and rants do not an engaged audience make.

Skip this and find a conversation with more substance, less flame, and less smoke.</comment>


NSA paid millions to cover Prism compliance costs for tech companies (2013) - <AUTHOR> http://www.theguardian.com/world/2013/aug/23/nsa-prism-costs-tech-companies-paid <comment><USER2> Moderators - Could you please add [2013] to the title?

The article seems to mix up the PRISM and Upstream programs. For more information, I'd recommend either the Privacy and Civil Liberties Oversight Board report of Section 702 collection[1] (VERY long) or this post from Top Level Communications analyzing the PRISM program[2] (much more accessible).

[1] [http://www.pclob.gov/All%20Documents/Report%20on%20the%20Sec...](http://www.pclob.gov/All%20Documents/Report%20on%20the%20Section%20702%20Program/PCLOB- Section-702-Report-PRE-RELEASE.pdf)

[2] [http://electrospaces.blogspot.fr/2014/04/what-is-known- about...](http://electrospaces.blogspot.fr/2014/04/what-is-known-about-nsas- prism-program.html)

EDIT: corrected link

</comment><comment><USER3> 1\. The compensation is provided for in the surveillance state legislation which authorized unconstitutional surveillance of American residents, as well as unlimited surveillance of noncitizens outside the US. To that extent, the payments are no real surprise, to the small number of people who've paid attention to this fiasco from the beginning. Yes, awareness has grown post- Snowden.

2\. The payments are compensation for costs of complying with mandatory legal orders. To that extent, they likely aren't the reason why Internet companies are complying, but since they must, their costs are covered.

Of course, they may also be full and willing participants, or could be getting dragged kicking and screaming into this. I've heard stories of varying levels of persuasion across the full spectrum.

However both my points are mentioned clearly within the article, if not well articulated in the headline.

</comment><comment><USER4> Remember all the "act-surprised-and-disgusted" posts of these involved companies, right after Snowden had started his revelations? Personally, I remember Zuckerberg's "What the F#ck" post very well.

<comment><USER2> They were right to be surprised and deny it. The initial reporting in the Guardian and Washington Post all said that NSA had "direct access" to the servers of all of these companies. After a few days, it was revealed that the NSA did not, in fact, have direct access to their networks, but instead had a system in place to retrieve data provided by these companies under court order.[1]

The Washington Post quietly revised its article without issuing a formal correction[2], but to date Glenn Greenwald has yet to retract his statement the NSA has direct access to their networks.

[1] [http://thedailybanter.com/2013/06/nsa-story-falling-apart- un...](http://thedailybanter.com/2013/06/nsa-story-falling-apart-under- scrutiny-key-facts-turning-out-to-be-inaccurate/)

[2] [http://www.zdnet.com/the-real-story-in-the-nsa-scandal-is- th...](http://www.zdnet.com/the-real-story-in-the-nsa-scandal-is-the-collapse- of-journalism-7000016570/)

</comment></comment><comment><USER5> Can we stop pretending these companies were not complicit in these programs now?

<comment><USER6> If we're going to get specific about who is complicit, the _vast majority_ of all people in the US are complicit. They keep electing the same politicians in D.C. (Pelosi, Reid, Boehner, Boxer, Graham, Feinstein, McConnell, McCain etc.), and constantly turn a blind eye to government abuses. Tons of leaders around the world are complicit.

It stands to reason, and should be unsurprising, that the vast majority of all relevant US technology companies would be complicit, seeing as they're under direct forced compliance.

There is broad electorate support for what the NSA does ('keeping America safe from terrorists' \- Joe Public), which is why it has escaped an incredible scandal almost entirely un-altered. It's the same reason the Patriot Act still exists, despite the fact that you're historically more likely to die by choking on a hotdog than at the hands of a terrorist.

<comment><USER7> Yes, yes, and yes. We should stop blaming government officials for this. For all the flaws of American democracy, we still _mostly_ get the government we (collectively) want.

A lot of techies seem to look around at their fellow techies, see little support for ubiquitous surveillance and other erosions of civil liberties, and assume the general population feels the same. They then conclude that the government is doing this for nefarious reasons against the wishes of the people, and that the solution is to make government more representative of popular sentiment.

As far as I can tell, government is already representative of popular sentiment here. If we want to change these things, we need to convince _people_ in general that change is a good idea.

</comment></comment></comment><comment><USER8> Thanks to mr Snowden we now all know the massive influence of the NSA and the way they can change/delete trends in the online media. HN is a big website with lots of influence (as is Reddit). Question: Has Ycombinator come forth with a statement they are not under the spell of the NSA?

<comment><USER6> Given the persistent, and intense criticism on HN of all things NSA since the original Snowden reveal, to say that your question is absurd would be putting it gently.

In fact I've seen no other platform that has had more negative + rational + informed discussion regarding the NSA than Hacker News.

<comment><USER8> It's not so absurd because all NSA articles dive off the front page when about 15 comments (or something of that nature) are reached.

<comment><USER9> To be fair, quite a lot of HN users honestly find NSA related articles to be more noise than signal, particularly when they lack technical details and can have the tendency to spiral into political arguments and blind conspiracy theory. One doesn't need to necessarily invoke the specter of government- driven censorship to explain that effect, given the way some stories can overwhelm the site.

<comment><USER8> Thank you for your comment. I Had not thought about it like that.

</comment></comment></comment></comment></comment><comment><USER10> The article is from one year ago. Very relevant today, but an year old.

</comment><comment><USER11> > Since the existence of the program was first revealed by the Guardian and > the Washington Post on June 6, the companies have repeatedly denied all > knowledge of it and insisted they only hand over user data in response to > specific legal requests from the authorities.

How is this statement anything other than a simple untruth on the part of the _Guardian_?

<comment><USER12> > How is this statement anything other than a simple untruth on the part of > the Guardian?

This article is from last year - IIRC this was the stance of those companies at the time.

<comment><USER13> It was the proper stance too.

These companies wouldn't have known about "PRISM", they would have known about their _own individual subsystems_ used to tie into some NSA warrant system.

All these companies knew that NSA could get NSLs signed out, or even warrants issued by FISA before PRISM was made public, and they had all received such NSLs/warrants before they setup the infrastructure to handle those NSLs/warrants in a more automated fashion. NSA calls this infrastructure "PRISM", but each individual company wouldn't have been privy to it, because none of those companies would have a "need to know" (or a clearance) about the NSA's own special access programs.

</comment></comment></comment><comment><USER12> When submitting old[er] content please include the year (2013 in this case) in the submission's title.

</comment><comment><USER14> And that is why I host my own shit...

<comment><USER15> This is in no way a guarantee against surveillance or even compromise, really. We already know blanket persistent monitoring exists so all communication is already collected between your hosted services and any others outside your network. All unencrypted data is analysed in near-real-time and encrypted data is stored for later analysis.

If you're interesting enough to state actors, there's not much you can do.

<comment><USER13> It's not a guarantee, but on the other hand it does give you stronger Fourth Amendment rights (if the NSA is what you're worried about as opposed to Russia or China, at least).

<comment><USER15> That's true. What you spend in time and effort, you do gain in less ambiguous legal protections.

I'll add that you do get to control the features you're presented with and your privacy is better shielded from commercial interests. The benefits are many compared to the relative inconvenience and cost.

</comment></comment></comment></comment><comment><USER16> Lol seems they left out AMZN.

</comment><comment><USER17> Old news from Aug 2013.

<comment><USER18> Yet still relevant,even if you dont like it.Because trust me foreign businesses using US based internet services still care about that huge scandal.</comment></comment>


TwittyPic acquired. Launched on HN 72 days ago. - <AUTHOR> http://www.techflash.com/venture/Pet_Holdings_buys_Twittypic_plans_Digg-like_news_service39646727.html http://news.ycombinator.com/item?id=388578 <comment><USER2> "TwittyPic acquired" "Pet Holdings hires TwittyPic Developer"

Which headline is more truthful? Which is more interesting?

I doubt the latter would make it to the top of HN since it doesn't jive with the startup mythos. Congrats to bemmu, but I doubt he is swimming in vaults full of gold coins. This was simply an aqu-hire.

There is some really good stuff in this article though: "five million page views per day, with Huh predicting that the sites will top two billion page views this year." "I asked Huh about the irony of an Internet company turning to stuffed animals and printed books for revenue." "It gives you a little bit of sense of how hard it is to make money online using advertising,"

We should be talking about that.

<comment><USER3> Closer to the latter, we are cooperating on a revshare basis. I didn't really think of it as an "acquisition", and frankly when I saw the headline I was a bit shocked, first thinking that Ben had sold our site to someone =)

<comment><USER4> Congrats from another Finn. Did any Finnish news outlet pick this? I haven't seen any. Unlike your Facebook project, which was featured recently in Helsingin Sanomat.

For anyone interested - here's the page with Google Translate: [http://translate.google.com/translate?prev=hp&hl=fi&...](http://translate.google.com/translate?prev=hp&hl=fi&u=http%3A%2F%2Fwww.hs.fi%2Ftalous%2Fartikkeli%2FTamperelaisopiskelija%2Bansaitsee%2Belantonsa%2BFacebook- sovelluksella%2F1135238482536&sl=fi&tl=en)

</comment></comment></comment><comment><USER5> Original launch link:

<http://news.ycombinator.com/item?id=388226>

A low key launch ! (Also looks like it was 72 days ago rather than 47)

</comment><comment><USER6> I originally thought twitpic, another site I learned about here, was acquired:

<http://news.ycombinator.com/item?id=404647>

Both are pretty neat twitter based apps.

</comment><comment><USER7> You realize, this is just going to increase the number of apps built upon Twitter... That may not be a bad thing.

<comment><AUTHOR> And that is great. More innovations. The Twitter team is not able to build all the necessary applications to fully take advantage of their system.

<comment><USER8> That is, until Twitter cuts down again the number of requests you can make through their API.

</comment></comment></comment><comment><USER9> I don't like Icanhaz. They're almost as bad as Ebaumsworld. A lot of their content on their network of blogs--the ones not captioned with their tools, or even some of those captioned--are outright stolen. That happycat that they're now making plushies out of is also not their IP.

</comment><comment><USER10> _Amid all of the bad economic news, Huh believes people just want something fun to read or view._

Surely there's some economy to be created to fulfill that desire? Are microsubscription models really doomed?

</comment><comment><USER11> Congrats, it looks like a great synergy!</comment>


Mathematicians Tame Rogue Waves, Illuminating Future of LED Lighting - <AUTHOR> https://www.quantamagazine.org/mathematicians-tame-rogue-waves-illuminating-future-of-led-lighting-20170822/ <comment><USER2> > Engineers need to build LEDs that more efficiently convert electrons into > light, if the devices are to become the future of artificial lighting, as > many expect they will.

I was under the impression that LEDs were already the present of artificial lighting...

<comment><USER3> I work at an architectural lighting manufacturer, and yes, they definitely are.

It killed incandescent/halogen first, then CFL. Metal halide (especially high wattage) and linear fluorescent are still hanging on by a thread, but everybody in the industry acknowledges that they're on the way out.

When I was in college (class of 2012) LED lighting was on the rise but the industry imagined they would take over much more slowly than what actually happened. We were still taking about CFLs as something that might come up more than once after we graduated.

<comment><USER4> Maybe you can explain something for me. I installed an IOT dimmer to control my bathroom lights which are dimmable LED bulbs. It works, except for one super annoying thing: when I turn them on, it flashes first at full brightness before going to the correct setting. It's so bright, it almost feels like a camera flash.

The dimmer is a Lutron Caseta dimmer and it works nicely with the Echo and Apple Home.

<comment><USER3> LED dimming is a compatibility mess. Most commercial buildings don't use 2-wire dimming where you're messing with the sine wave on the hot wire for dimming, instead they give you a clean 120V circuit and tell you the dimming level over some other channel (whether it's wireless, 0-10V analog, or some digital bus), and these tend to perform a lot more consistently. But most residential equipment doesn't work that way because houses don't have the additional wiring for it, so we're stuck with 2-wire.

When you get into 2-wire dimmers where it's chopping up the sine wave to reduce power, everything gets sloppier. The only 100% reliable strategy to avoid problems is buying LED bulbs that have been tested on your specific dimmer system.

Consumer products are especially frustrating because a lot of time the technical specifications are missing important information like whether it's for forward phase or reverse phase dimming. That relates to which end of the sine wave gets chopped off for dimming, and they don't play nicely with each other. Reverse phase is the more common these days, but it doesn't hurt to confirm.

Lutron does a fair bit of compatibility testing and lists their recommended products here: [http://www.lutron.com/en-US/Service- Support/Pages/Technical/...](http://www.lutron.com/en-US/Service- Support/Pages/Technical/Design-SelectionTools/LEDDimmerMatrix.aspx)

EDIT: I should note that if you're looking at screw-in LED light bulbs you want to search "A Lamp". Bit of industry jargon, we measure things in 1/8 inches (because reasons), so what normal people consider a standard lightbulb is an "A19 lamp" meaning A-series with 19/8" (2.375") diameter.

<comment><USER5> This is spot on.

To put it more simply still; AC light dimmers work by 'turning off' the sine wave part way through the cycle. This works on purely resistive loads (light bulbs) and blows up motors (ceiling fans).

LEDs are direct current devices that run on less than 2V. So they convert the electricity coming in to DC, then regulate it down to their voltage. No amount of 'sine wave chopping' is going to dim them.'

As a result they try to cheat, they try to _both_ convert AC to DC and to measure the incoming sine wave and guess that it is being dimmed by an old style dimmer.

In the GP comment, the engineer chose perhaps poorly. Clearly as soon as power is available the light comes on full, then after the 'dim' setting is measured it adjusts the light level to the 'dim' setting.

What the light _might_ do when it receives power is first do the measuring to look at the sine wave. then after it knows what brightness it is being commanded to show, _then_ enable the LEDs. Now how long does it wait? If it waits 16mS (or 20mS for 50hz) then it can see a 'full' cycle. But since it could start anywhere it really needs to wait 24mS/30mS because that way it is sure to have at least one full cycle in its memory. However, if there is a 'smart' dimmer (think X-10) involved it may just pass through unclipped sine waves as it powers up because "the incandescent light takes many milliseconds to warm regardless." If the LED waits longer before it turns on you cross 100mS which is where pretty much everyone would note a 'lag' between turning on the light and actually having it come on.

All of that just to that a 20 year old dimmer based on TRIACs still works as 'expected' by the user.

<comment><USER3> Another lingo note, the old-school TRIAC dimmers are the forward phase ones. Being mostly on the commercial side I don't see much of this, but maybe on residential products that's what's implied when something calls itself "dimmable".

When we get 2-wire dimming it's usually reverse phase (AKA Electronic Low Voltage (AAKA ELV)).

</comment></comment></comment></comment></comment></comment><comment><USER6> LEDs and photovoltaics are both PN junctions. I wonder why they don't mention making better photovoltaics, or why their landscape function can't be used to improve photovoltaics.

<comment><USER7> Most likely because this research seems to deal with materials that emit, and not absorb.

</comment></comment><comment><USER8> The title here is confusing; as best I can tell, this article doesn't relate to what's usually meant by the term "rogue waves" (see: [https://en.wikipedia.org/wiki/Rogue_wave](https://en.wikipedia.org/wiki/Rogue_wave) ).

<comment><USER9> I do think there might be some relation -- rogue (ocean) waves are the result of many waves interfering such that an (ocean) wave of exceptional amplitude is formed, just as localized regions are the result of many waves interfering such that a standing wave is formed at said regions.

Then the idea of a rogue wave can be understood to mean a region of interference in which a wave of strange properties is formed -- such as a standing wave or a wave of exceptional amplitude.

</comment></comment><comment><USER10> Since just discovering the problem got Anderson a Nobel, actually solving it should get Mayboroda and Filoche one, shouldn't it?

</comment><comment><USER11> Reading this article I struck me that you could use the same analysis to design FinFET junctions to have the localisations coincide with the dielectric boundary to reduce gate leak, and hence power consumption and heat.

</comment><comment><USER12> Also briefly mentioned in the article: [http://www.ipam.ucla.edu/research- articles/fractal-acoustic-...](http://www.ipam.ucla.edu/research- articles/fractal-acoustic-barrier/)

This look's very promising. Imagine the public health benefits we could reap from eliminating 98% of highway noise! And that's from _2009_.

</comment><comment><USER13> In the photo, that watch looks like a Pebble Time Round! Such a well-designed smartwatch, it's too bad they went out of business.

<comment><USER14> Truth in this most unrelated comment.

</comment></comment><comment><USER15> Finally we can design open plan offices where the noise stays localized at its producer :)

<comment><USER16> If only materials existed with the power to block electromagnetic waves and sounds waves from propagating... one day perhaps.

</comment></comment><comment><USER17> A lot of math takes decades to become something practical, it must be gratifying to discover something that has immediate and widespread applicability.

</comment><comment><USER18> It would be interesting to know more about how this affects the design of current and future LED's.

<comment><USER7> Not very much. The real problem LEDs face is the Auger Effect.

</comment></comment><comment><USER19> tl;dr: you'll have to buy new led lights over 5 years.

<comment><USER20> I suspect the difference in performance will be very incremental, not revolutionary. Sure, efficiency will improve, but the big story will probably be higher production yields and more consistency.

LEDs are already efficient enough that I'd focus on color quality above all else when selecting them.

</comment></comment><comment><USER21> Does anyone with a background in electrical engineering, material physics or something related know, if the same techniques described here could have any applications on mitigating electromagnetic side-channel attacks (and possibly lower the power consumption) of electric circuits?

<comment><USER7> Lower consumption, possibly. Mitigate EM attacks? No.</comment></comment>


Snapchat Founders' Grip Tightened After a Spat with an Early Investor - <AUTHOR> https://www.nytimes.com/2017/02/23/technology/snap-founders-evan-spiegel-bobby-murphy.html?_r=0 <comment><USER2> Dupe: [https://news.ycombinator.com/item?id=13721450](https://news.ycombinator.com/item?id=13721450)</comment>


Bootstrap/Bulma/MaterialUI/TailwindCSS, which will you choose for the front end? - <AUTHOR> Title says it all. If I were to start a project today (and my CSS knowledge is minimal and restricted to only changing selector attributes), which one will help me the most and will also be future-proof? <comment><USER2> I'm personally a fan of Bulma because it's pure CSS, has a simple API, and a lot of useful components available via extensions.</comment>


Ask HN: Premature optimization – when to use? - <AUTHOR>

I know the old adage, but I think I have a use case where it is false, so I want to see what HN has to say about it.
Fist of all, this is a private project, something I am working on with me as the only user. So the whole market fit issue shouldn't be relevant*.
So I am working on a webscraping project, mainly through trying to apply what I have leared through the learn python the hardway course. So far so good, everything is working well. But when I deployed my first spider, it took an hour, and returned ~20 million lines for one year (I want to get data going back at least 5 years).
So its working the way I want, but I am thinking, should I start looking at my code and see if there are ways I can speed it up?
Either way, it's not a problem, I have spare computers I can set to run the program for hours on end.
But should I waste electricity running a hack, or should I try to start optimizing now? <comment><USER2> I think what could be considered an early optimization (but not premature) is the architecture design of your software.

I dont know how you did your application, but in this example, you could have made the design choice of a heavily multithreaded application to fetch and process multiple pages at the same time.

It could be an early optimization that saves you a lot of refactoring later.

</comment><comment><USER3> Find your bottleneck and see what function calls are the slowest/fastest and find out the root cause of any perceived lack of performance. Just run python -m cProfile <yourscript.py> and you'll get that information

<comment><AUTHOR> Thanks for this, I am very new to python, so I will try this out.

But I think at the moment my bottleneck is the scraping part. The current program hits 365 pages (each day for a year) and managed to pull down the 20 million results.

I am now trying to figure out how to pull more info from each day, and that's why I am thinking about trying to optimize. Does cProfile measure things like time on a webpage (via bs4)?

Do you have any links on optimization "thinking", as in, I don't know if it is my approach that needs optimizing, vs my code.

</comment></comment><comment><USER4> In your case this is not premature optimization. You have written functioning code, and use it to tackle your problem, you just saw (and proved) that it wasn't fast enough, now you can optimize.

Premature optimization is when you try to write "clever" and "fast" code without first exercising it in real world scenario to actually see that it is not fast enough.

<comment><AUTHOR> Cheers for this idea.

I was just wondering when I should stop the prototyping 'hacks', and sit down to try doing things smarter.

I have tackled the "MVP" of my problem, and I am still hacking away to get exactly what I need, but I am starting to think about the whole idea of 'technical debt'. I have enough code now that it is starting to not _fit_ in my head.

I am wondering if this is the inflection point for starting to optimize - maybe abstract the code enough that I can keep building and keep it all in my head at the same time...</comment></comment>


The Last Death-Defying Honey Hunter of Nepal - <AUTHOR> https://www.nationalgeographic.com/magazine/2017/07/honey-hunters-bees-climbing-nepal/ <comment><USER3> Anecdote: my grandfather's house had a tree with a pretty big beehive. The bees would be everywhere in the garden. He was least bothered by them and considered bee stings to be only marginally more annoying than mosquito bites. However, me and mom were not so nonchalant about the bees (this was during our annual visit during summer vacations in school so we were not really used to the bee scene).

A honey collector happened to be going around looking for honeycombs and grandpa called him to collect honey from the hive (probably to get rid of the bees). We watched as the guy skillfully climbed the tree (the hive was located fairly high) with just a net as mask while wearing normal clothes - <USER2> protective suit etc. Bees probably stung him hundreds of times but he didn't really care - if he flinched, we didn't see any of that from that distance. He got a whole lot of wax and three jars of honey of which he gave us a jar as payment. I enjoyed the honey but couldn't have too much of it at any time. Once I had more than a few spoons and started feeling hot and sweaty. Grandpa told that it was an indicator of it being "good" honey. He would daily eat a spoonful of it during winters.

<comment><USER4> > I enjoyed the honey but couldn't have too much of it at any time. Once I had > more than a few spoons and started feeling hot and sweaty. Grandpa told that > it was an indicator of it being "good" honey.

Your comment set me off googling, trying to link "good honey" with the symptoms you were describing. The furthest I got was the reminder that raw (unpasteurised) honey (as yours certainly was) can contain all sorts of pollen and spores, and commonly gives people food poisoning. In fact, it turns out that the health service in the UK recommends _not_ giving any honey to babies because of this.

tldr: Your Grandpa might be grading honey based on its botulism content.

[1] [https://www.livestrong.com/article/167554-side-effects-of- ra...](https://www.livestrong.com/article/167554-side-effects-of-raw-honey/)

</comment></comment><comment><USER5> There was a Vice documentary about this a couple of years ago too [https://www.youtube.com/watch?v=wDOvmhqvIA8](https://www.youtube.com/watch?v=wDOvmhqvIA8)

The honey is from Rhododendron pollen and apparently very easy to overdose on. [https://en.wikipedia.org/wiki/Grayanotoxin](https://en.wikipedia.org/wiki/Grayanotoxin)

</comment><comment><USER6> I had read another article (may or not have been in NatGeo) some time ago, about another tribe in Nepal, roughly similar to the one mentioned in this OP, in the sense of living off the forest and land (honey gathering, fishing, etc.). The tribe was called the Raji. I remember a rather stark quote from a Raji tribe member in the article:

"You fall when your life is over."

He was referring to the fact that sometimes the honey gatherers who climb high trees to get it, slip and fall.

Though it might sound fatalistic to some Westerners, who think that Asians are so, I thought it was, rather, realistic, in acknowledging that not everything in life is in our control, though many people like to delude themselves that it is.

<comment><USER7> I spent time in a remote village in Western Nepal back in 2009. During the 70's, the Peace Corp had installed 2 hydro generators to provide electricity for the village. Over time the generators broke down, and no outside notice was given, or request for assistance. My understanding from conversations with some of villagers was that the prevailing attitude was "alas, such is life", and they wen't back to no electricity. They had no electricity in 2009, but people seemed content enough.

<comment><USER6> Yes, I agree, that happens a lot in Asia, and it bugs me no end. That's not what I meant by my Raji example, though.

</comment></comment></comment><comment><USER8> The part about the changes in barometric pressure / the camera failing is interesting. At first it sounded like a dramatic enhancement to the story, but intriguing that things went back to normal once leaving the enclosure.

<comment><USER9> I bought a sturdy camping lighter. It was the most reliable lighter I'd had, first time every time. Until I tried to use it at 14,000 feet. Nothing. Wouldn't work at all. Luckily I had a cheap, disposable lighter as backup. It worked fine above 20,000 feet.

<comment><USER10> Where were you climbing?

<comment><USER9> Aconcagua.

</comment></comment></comment></comment><comment><USER11> FYI this is not the last guy harvesting psychedelic honey. My girlfriend was just in Nepal, tons of families have it. They sold it to her in a used Pepsi bottle. It kind of fermented once we got it home. Kind of... Zingy.

<comment><USER12> Maybe he's the last one desperate enough to defy death for it? But it's possible that they just lied or are wrong.

<comment><USER13> He's the last in the lineage of those who do this within this specific group:

""For the Kulung, the ethnic group that lives in Saadi, for them to be able to go onto the cliff and touch the honeycomb and the honey, you have to be selected by this wrathful forest spirit called Rongkemi through a special dream. And Mauli Dhan was the last person in the village to have this dream. There's a very specific narrative dream you have to have about being stuck in a spider's web on the cliff, and you're rescued by this large white monkey. So he told his father and the village elders about the dream, and they said, 'You're the one. You're the honey harvester.'"</comment></comment></comment>


Programming a Problem-Oriented Language (1970) - <AUTHOR> http://www.colorforth.com/POL.htm?html <comment><USER3> This is a better typeset version (without the bold font-face and using monospace for code):

[https://github.com/btbytes/pol/raw/master/POL.pdf](https://github.com/btbytes/pol/raw/master/POL.pdf)

</comment><comment><USER4> >> A problem-oriented-language is a language tailored to a particular application. To avoid that uniquely clumsy term, I'll usually substitute application language as synonymous.

Is this equivalent to today's idea of Domain Specific Langauges?

<comment><USER5> Speaking from the armchair, I'm gonna go with "not really". Part of what makes a good DSL good is that both its semantics _and_ its syntax is well-adapted to the problem domain. And they don't necessarily have to be built up within the syntax of some other language. Gherkin comes to mind as an example, or perhaps Inform.

Whereas what Moore's talking about (I think - I haven't read all of the linked article just now, of course, but once upon a time I did belong to the Chuck Moore fan club.) is something closer to just writing well-factored code - <USER2> build up a bunch of small routines to do small problems, and build other routines on top of those, until you've constructed a library that lets you speak about the problem succinctly. This isn't really too far off from what Abelman and Sussman were advocating in SICP. (And personally I like to think of Forth and Scheme as being two different sides of the same coin.)

They're both useful concepts, but they're useful for different things. DSLs are great for many tasks, but building a good DSL takes a lot of time, so it isn't really worthwhile unless you expect it to be used a lot. OTOH, this "problem-oriented" concept is useful most everywhere, including for writing one-offs. I'm less certain of the value of using something like Forth's compiling words or Scheme's macros to do it, though - metaprogramming makes me feel like a superhero, but it also makes me want to kick myself when I need to try and make sense of something I wrote two years previously.

<comment><USER6> I think what Moore is talking about is what is called an Embedded Domain Specific Language.

</comment></comment></comment><comment><USER7> Thus far a lot of what he says seems smart... until I got to this:

"Make variables as GLOBAL as possible. Why not? You can save some space and clarify your requirements. For instance, how many Is, Js and Ks do you need? In most cases a single copy in COMMON would suffice (you have to declare them, remember, and may as well put them in COMMON); you can redefine it locally if you must; and it is of interest that you must."

Maybe I'm just misunderstanding him, or it's a difference in languages

<comment><USER8> You have to remember why globals are considered "evil" today: 1) bad for modularity 2) bad if you have threads 3) bad for debugging (referential transparency etc.)

In the seventies, I think that threads simply didn't exist. As for modularity, it is pretty clear from the rest of the book that Moore doesn't consider it as something important. He prefers high performance, ad hoc code. This made sense given the limited power of CPUs at that time, and this still makes sense in the embedded world, sometimes. Finally, the negative impact of global variables is probably proportional to the size of the program. He is talking about programs that could easily fit in the L1 cache of yesterday's Pentiums (a few dozen of kilobytes max).

Furthermore when one programs in Forth, one problem is that you simply can't declare local variables: all you have is two stacks. It often simplifies a lot the functions ("words" in Forth lingo) to "offload" some data into (global) variables. This actually helps with debugging, given that in older systems one had very few debugging tools, because one could interrupt the program and look at the state of those variables in order to guess what's going on.

<comment><USER6> There's another problem with global variables, though. They make it harder to reason about your program. Who knows which of the functions you're calling are updating which global variables?

Of course, as you said, things are a bit different in Forth.

</comment></comment></comment><comment><USER9> PDF version: [http://www.forth.org/POL.pdf](http://www.forth.org/POL.pdf)

Edit: Better typeset version by btbytes: [https://github.com/btbytes/pol/raw/master/POL.pdf](https://github.com/btbytes/pol/raw/master/POL.pdf)

</comment><comment><USER10> Although it only uses HTML, that text manages to look as god-awful as can be. Seriously, everything in _boldface_? No text rendering engine in the universe can save you from a writer like that.</comment>


Pushpin a reverse proxy for the realtime web - <AUTHOR> http://pushpin.org/about/

<comment><USER2> How does this compare to Nginx's Push stream module [1]?

I've always defaulted to the Push stream module for any WebSocket/EventSource since I always have nginx installed and curious if Pushpin offers any benefits.

[1]: [https://github.com/wandenberg/nginx-push-stream- module](https://github.com/wandenberg/nginx-push-stream-module)

<comment><USER3> Pushpin author here. The main difference is that Pushpin's client-facing protocol is completely defined by the backend server(s) running behind it.

The Nginx Push stream module exposes its own client subscription protocol. For example, clients connect to Nginx and specify the channel they want to subscribe to. With Pushpin, channels are specified by the origin server when responding, so that clients are not privy to channel schema (nor do clients even realize Pushpin exists).

That said, the Nginx module does offer a good amount of control over paths/formats, and I know there are some neat tricks you can do like redirecting a request to the push stream module (I believe Fastmail does this) to achieve protocol control similar to Pushpin.</comment></comment>


The Veronica Mars Movie Project on Kickstarter - <AUTHOR> http://www.kickstarter.com/projects/559914737/the-veronica-mars-movie-project

<comment><USER2>
        Their reaction was, if you can show there's enough fan interest
        to warrant a movie, we're on board.

-

        Q: Where is my money going?

        A: All funds will go into a Veronica Mars Movie Project production
        account which has been set up by Warner Bros. on our behalf.

-

        Distribution is always a challenge with low-budget films, but
        Warner Bros. is going to help us distribute the movie, and try to
        get it out there as widely as possible.

There seems to be a significant amount of involvement from Warner Bros, although this isn't inherently bad it's a strange thing to be seeing on Kickstarter, it would be nice if they could elaborate on Warner Bros full involvement. Are Warner Bros trading ownership of the movie for permission to make it?

Also they've unfortunately restricted all the rewards to US only, even digital movie copies :|

</comment><comment><USER3> I wonder if Firefly could have been saved if kickstarter was around back then.

</comment><comment><USER4> Fun game: Go to the fundraising page, wait one second and refresh. Crazy how fast this is getting funded. This is going to be a new defining moment for crowdfunding and companies like Kickstarter, Watsi, etc.

</comment><comment><USER5> I would love a veronica mars movie, but I wonder how hollywood accounting will gel with crowdfunding.

</comment><comment><USER6> Don't think this is relevant for HN, but my girlfriend will love this. Thanks for sharing.

<comment><USER7> It seems relevant- this must be a new milestone for Kickstarter.

</comment></comment><comment><USER8> This is something I dont like about Kickstarter - I cannot see the _exact_ definition of success. Well alright, its reach 2m pledged. But after that?

With the track record of movies _not_ getting the green light, what if the movie never gets made? What if Warner Bros. pulls the plug after 1m dollars is spent on script rewrites? What if the script rewrite fees goto the guy running the kickstarter campaign, and then nothing happens?

This _could_ be an interesting way to fund a movie, but it is highly speculative and in a very very risky, cut throat business. I seriously doubt the 2 million will see the light of day again.

NB: I am not implying any fraudulent intentions on behalf of the producer here, I expect he is as he seems, enthusiastic and passionate. But imagine "stereotypical cut throat producer" - he just is salivating at a bunch of yahoos handing him 2million dollars for a "treatment".</comment>


POW turns Firefox into a web server. - <AUTHOR> https://addons.mozilla.org/en-US/firefox/addon/3002

<comment><USER2> We need more acronyms, I was hoping for an exciting story about how prisoner of war with access only to firefox was able to hack into a webserver and post the details of imprisonment, thus leading to his eventual rescue.

<comment><USER3> c'mon, it's better than "MBA turns Firefox into a web server."

<comment><USER4> Well, there I would more expect "MBA turns Firefox into a web browser."

</comment></comment></comment><comment><USER5> We are missing the point.

Turning a browser into a web server is not a big leap in technology. That is not a hard problem.

Why I am excited about Opera Unite and not about this firefox extension is that Opera themselves thinks that this will change the face of internet applications. They are excited about it and they will persue this to the end. That is the whole point.

It is not about technology. It is about how you push it and persue it. It is all about your vision.

<comment><USER6> My vision says that Opera Unite isn't going to live up to the hype. Users don't want a music player in their browser, they want a good music player. Opera would do better to build a sturdy, dedicated server side JavaScript environment than to put a weak offering into their browser.

<comment><USER7> _"Users don't want a music player in their browser, they want a good music player."_

And, incidentally, iTunes already has sharing from within the player and it is very widely used.

Anyway, Unite is an interesting experiment, even though it probably won't revolutionize anything on its own. The "this will revolutionize the web!" PR sort of obscures the actually utility/novelty that this likely has for a subset of users.

</comment></comment></comment><comment> andrewl-hn I assume this was posted in connection with the news about Unite. I remember when Google introduced Gears someone on reddit or HN pointed to this extension. I was curious about it and tried it in my computer at work.

First of all, this thing works and it gets the job done. But it feels too hard to actually use it everyday for a non-geeky person. The point of Opera offering is not only the platform itself but also the list of Unite services they already provide (photo-sharing and fridge cover most of my needs).

I'm pretty sure one could use POW to ultimately bring Unite to Firefox.

</comment><comment><USER8> This is from 2007.

So I've got Hello World running at <http://localhost:6670/test.sjs> , but I'm not sure if this is exposed to the outside web.

<comment><USER9> no, i can see your site! its awesome.

<comment><USER10> I see it too!

It's uncannily similar to the one I knocked out earlier... all hackers must think alike!!

</comment></comment></comment><comment><USER11> I was also hoping it might have something to do with integrating Batman into Firefox. But that would also require the optional BAMM and !!! extensions. See [http://media.photobucket.com/image/batman%20cartoon%20pow%20...](http://media.photobucket.com/image/batman%20cartoon%20pow%20bam/CSBG/batman_dark_tomorrow_pow.jpg) for an example "in action."

</comment><comment><USER12> If only there was a way to get POW to run PHP.JS <http://news.ycombinator.com/item?id=630258>

<comment><USER13> This is as dry as it gets, folks. If you can say "If only there was a way to get POW to run PHP.JS" with a straight face, there is nothing beyond your reach.

<comment><USER12> This is one of the many services I provide.</comment></comment></comment>


A science fiction and fantasy summer reading list for teen creativity - <AUTHOR> http://ideas.ted.com/2014/06/20/are-our-kids-getting-worse-at-creative-writing-6-sci-fi-and-fantasy-books-to-share-with-the-app-generation/

<comment><USER2> Hadn't heard of all of them, great to add these recommendation to my reading list.

I recently read another which I feel fits in this list: The Silence of the Asonu by Ursula K. LE Guin [http://www.lightspeedmagazine.com/fiction/the- silence-of-the...](http://www.lightspeedmagazine.com/fiction/the-silence-of- the-asonu/)</comment>


Show HN: RSS feeds by mail, once a week, no app - <AUTHOR> https://feedlivery.com/ <comment><AUTHOR> To explain this a bit more:

I freaking love smaller blogs, I've seen some of the most creative stuff on there. From people creating elaborate living wikis about nice interests such as blue light exposure, sleep[0], etc. and people transforming their blog posts into pieces of art[1], stuff that simply would not be possible on platforms like medium.

I would run into plenty of these awesome blogs while browsing HN but always forget them or put into an RSS app that I never ended up using because the blogs I followed only ended up posting something every month or so.

This service just sends you a very simple email once a week or month with new content from your feeds if there is any.

Cheers! Will

[0] Supermemo - [https://www.supermemo.com/en/articles/sleep](https://www.supermemo.com/en/articles/sleep)

[1] Kane Robinson - [https://kanerobinson.com](https://kanerobinson.com)

</comment><comment><USER2> I think I like the idea, but I refuse to give you my email, on the landing page, before seeing exactly what you are offering.

<comment><AUTHOR> Valid point, and pretty stupid I did not think of this, imgur seems to be down so you can check out some screenshots here[0] if you want to.

[0] Feedlivery Producthunt - [https://www.producthunt.com/posts/feedlivery](https://www.producthunt.com/posts/feedlivery)

Edit: I added a little F.A.Q to clear some stuff up, if there are more questions I'll be glad to add them!</comment></comment>