Why Is Your Team Falling Behind? Ask 'The Penny Game' - <AUTHOR> http://spin.atomicobject.com/2016/01/19/penny-game-software-dev/ <comment><USER2> Part of the problem is that software is never really "done" \-- older software needs a ton of maintenance and support, and new features are restricted by existing code's technology choices, design decisions and architecture.

So pennies in later systems never fall onto the truck and get delivered to the customer, rather they fall into the final state and randomly teleport back into earlier stages as teams that implemented them start getting support work.

Unfortunately you're not going to be as productive when you're developing a new product against a background of supporting multiple existing products / customers, as you were when you were developing your startup's initial product without much else going on.

<comment><USER3> > Part of the problem is that software is never really "done"

Absolutely. The cognitive dissonance is bad enough that we might be overdue for a change in vocabulary, starting with the word "done". Even hypothetically perfect code needs to get ported to a new architecture, OS, VM, and/or compiler at some point.

I think we, as technical experts, do a terrible job explaining that every piece of code _old and new_ has an ongoing cost. The discussion points should be about which costs are higher and whether trade-offs are worth it. Are the ongoing costs (is the team even aware of what they are?) lower than the cost of change (how do we know it was worth it? can we change our mind if it wasn't?).

While the article brings up many good points about bottlenecks, estimation, and allocation of resources, I find that bad mental models of how software development works costs far more, albeit in subtler ways, than "Heather can do 12 units of work but we only gave her 8 and she blocked a lot on task Alpha instead of moving on to something else".

Though your mileage certainly varies.

<comment><USER4> Continuing that line of thinking, one of my epiphany moments when I first arrived at a dominant player was the acceptance that we would ship with bugs.

The way to stay at the front of the race is to prioritize your bugs and fix the right ones in the time that you have because if you think you'll get them all, you'll never ship. Get the ones that have the highest probability of causing your customers pain and know that you aren't ignoring the ones that are scheduled for your next maintenance release. Debate intelligently if you think something needs to be reclassified as a higher priority and learn to accept that there might be a couple that you don't win so you can get on with covering as much of what remains as possible.

</comment></comment></comment><comment><USER5> No! No! No! No! WHY?? We spend years saying "software development is not manufacturing", and now it the name of "agile" we allow all this to crept back. Your team is not falling behind, your estimates were wrong!!

<comment><USER6> That response is ineffective, because the managers will simply pressure the engineers to give better estimates.

The penny game (where I work we call it the beer game) is a good learning exercise, but in software development you really don't want to be having different "stations" handing work off to each other in the first place, because that leads to delays and quality issues. Each station will develop its own little backlog and pretty soon a feature cannot make it from start to finish without spending weeks waiting in the design queue, then the dev queue, then the test queue...

Instead, you need to have a small, cross-functional team focusing on the same piece of the product at the same time, collaborating and giving rapid feedback on each other's work--that's what agile and XP and scrum are for. And you need a pull system instead of a push system, to regulate the amount of work in progress--that's what kanban boards are for.

<comment><USER7> But doesn't specialization naturally push towards the creation of stations? If your cross-functional team contains both a database engineer and a UX designer, I don't see how either can help with the other's job.

<comment><USER6> It really can help if they are actively communicating with each other--the user interface is how the data gets into the system, so if the database engineer understands the interface it can provide context for where the data comes from, what it means and how it is used, and that can inform data modeling decisions.

Understanding how the data model is laid out, how much structure is needed, what fields are required/optional and what types they are etc. can also inform UI/UX design decisions.

And this is an example of two roles that are at opposite ends of the frontend/backend spectrum. For roles whose work products interface directly, there's an even stronger need to collaborate.

Specialization is good in that it allows people to focus on using their best skills, but it's bad if it fragments the product development team and inhibits communication and decisionmaking.

<comment><USER7> Certainly active communication and the prevention of siloing can help speed development and reduce defects. But the Penny Game illustrates that backlogs and queuing issues will occur even if each station is in perfect communication with all the others. So you can't eliminate queuing issues with close collaboration and rapid feedback. You can only eliminate it by eliminating dependencies and specialization, which I don't think is possible in modern software development.

<comment><USER6> Well yes, on a basic level when you have specialization and division of labor, you will always have dependencies.

But when you tighten the feedback loop and shrink the batch size of the work, you make the dependencies smaller and more granular, so the queue gets smaller and fluctuates less, and you get better flow of work through the process.

Here's a simple visual that illustrates why this is the case:

[https://lh4.googleusercontent.com/QGyl3JPoMH1wU0pNoGIsucQCOf...](https://lh4.googleusercontent.com/QGyl3JPoMH1wU0pNoGIsucQCOfLu0R9MKZ4kfj3ioNBA_5gdXLVM_YWQ7kRSlKO3dxzzHGyrhMi68l8MjmYjriUyYRQKbUkVuvw2KMeHWRlSjGQ8ey__OfpC8JDTeDEosA)

</comment></comment></comment></comment></comment></comment><comment><USER8> Having been both a Manufacturing Engineer and a Software Engineer, there are similarities between the two scenarios: work-in-process within a manufacturing facility and whatever features/functionality a given software development department is creating.

I would create detailed step-by-step job instructions for each station in the manufacturing line, along with expected times each unit should take at each station. It was trivial to compare expected versus actual, then dive into the details of what's going wrong if the two values are not matching up (new vendor causing quality issues? machine troubles?).

With software, those "job instructions" are little more than the specification hammered out by (hopefully) someone who knows the product, domain, technical capabilities of the software development team (including design and QA). It's rare. Very Rare....any single person can estimate exactly how long a sprint or anything larger is going to take. One wrong technical hurdle, and every estimate is out the window.

For the "production worker" on the software dev team, just following those specs wont get them to the finished product. Their knowledge, how well the team can support lack of expertise, shifting priorities...these all create logjams.

<comment><USER9> The difference is, writing code IS the specification process. The code itself is a functional design spec.

The persistent assumption that writing code can be handled like a production process is flat-out wrong. The software equivalent to production is the build/test/deploy phase which any intelligent developer will automate.

The concept of a 'production worker' programmer seems ridiculous. Somebody more experienced researches the domain, comes up with solutions, specifies all those solutions, and the 'production worker' programmer is left to to what exactly? The engineering equivalent is handing a draftsman a hand written drawing and telling them to implement it in CAD. It's good for practice and to get new people up to speed with the process but it doesn't provide much value.

The reality is, unless the team is using an easily repeated process like churning out Wordpress sites from a scaffold generator, there's no such thing as 'job instructions' on a programming team. Each and every developer on the team is assessing the domain and trying to hammer out a specification for the production process. Any part of the process that's easily repeated should -- and ideally --will be automated away.

It's not an easy process to measure because specification requires extensive research and discovery. Bad assumptions are made and corrected. Some approaches require new and novel approaches. A significant amount of the work comes with a great deal of risk.

Throw a few programmers into the mix who lack the battle hardened experience and wisdom of previous successes/failures and they'll generally drag everybody else down.

In short, software development is not a production line. It's hard to define because it requires a lot of unknowns and even more unknown unknowns.

</comment></comment><comment><USER10> Queuing theory is, like statisical thinking, is a topic where I feel like I understand what will happen but I know that my intuitions are wrong.

Which is why everything always takes longer than I think it should.

<comment><USER11> Spolsky quoted someone saying "Google uses Bayesian filtering the way Microsoft uses the if statement."

I feel like there is room for an analogous quote about using the Poisson distribution compared to capacity reasoning.

</comment></comment><comment><USER12> Perhaps the main problem is treating a team of professionals like an assembly line. Execs and PM dream up the idea, throw it over the fence to design who mocks it out, who throws it to the backend to build the api, who throws it to the front end to piece together. What could go wrong with this process? Oh, maybe you have a meeting so people get their input in, but the problem is you don't really know the important parts you are missing until you start building. This isn't the way to organize an elite team. Good people don't want to be a cog in a machine.

</comment><comment><USER13> Not to be confused with Penney's game, which is a different kind of fascinating thing in itself: if two players each pick a sequence of heads and tails and win if their sequence shows up first, the player who picks the second sequence after seeing the first sequence has an advantage.

[https://en.wikipedia.org/wiki/Penney's_game](https://en.wikipedia.org/wiki/Penney's_game)

</comment><comment><USER14> For a more detailed explanation of the importance of minimizing work in progress (i.e. inventory) I highly recommend "The Principles of Product Development Flow" by Donald G. Reinertsen. It contains a thorough economic analysis based on queuing theory.

[http://www.leanproductflow.com/buy-the- books/](http://www.leanproductflow.com/buy-the-books/)

<comment><USER15> Or [http://www.amazon.com/The-Principles-Product-Development- Flo...](http://www.amazon.com/The-Principles-Product-Development-Flow- ebook/dp/B007TKU0O0) without the affiliate link...

</comment></comment><comment><USER16> This is a fun game because it also is related to a lot of counterintuitive things about constraints and premature optimization.

If you optimize something that isn't a constraint, the problem isn't just that you are wasting effort - it's that you might also be unwitting _increasing_ the backlog of another part of the system. So it's not only "not helpful", it could sometimes even be harmful.

That's why Goldratt et al emphasize constraint analysis so much - analyze the entire system (usually using causal analysis; why certain parts of the system explain other symptoms), identify the current core constraint, invest all spare efforts to alleviate _that_ constraint only (and _not_ other inefficiencies), and then re-analyze.

I don't believe this is necessarily counter to Agile! It's just that a lot of people implement Agile badly. Which isn't a problem with Agile exactly, it's just that there's a lot about complex systems that are counterintuitive. You can't really be reductionist about it.

</comment><comment><USER17> This is something that more managers need to understand - that even slight variations in how long it takes for work to be produced can have a major effect on throughput.

</comment><comment><USER18> The first thing that comes to mind is to allow different stations to do each others' jobs when needed. Sure, productivity will be lower when doing something you aren't used to, but isn't it strictly better than being idle because there's no work on your level? (Barring problems because you didn't do the work well, but this is a simplistic model anyway.)

I wonder how the game would end up if stations could work on other levels for a slight penalty to production for both stations, only kicking in when one is idle over some threshold.

<comment><USER19> Well, adding that to the model would make it not apply to software development. You can't just add developers to a task.

<comment><USER18> Why not? Or rather, what hit do you expect productivity to take, and for what level of idleness would that still make sense?

If the problem is that some developers are literally idle because their task is done, they should do something else.

<comment><USER20> The different stations don't represent developers, they represent discrete tasks. So that could be designer > coder > qa, or dev stack 1 > dev stack 2 > dev stack 3. A coder waiting for a design won't just go and design. A developer with Stack 3 might be familiar with Stack 2 but might not know the best practices from that stack, introducing bugs or funky code that will create more work later on. If all your developers can do all the tasks, the graphics in this story don't apply.

</comment></comment></comment></comment><comment><USER21> I think this pretty much cuts to the heart of what's usually wrong with the whole "agile" thing -- by micromanaging programmers to such a degree, instead of being able to use that downtime to do things that practically _everyone_ knows needs to get done, you have people sitting on their hands because everything has to go through the "backlog."

IMO the solution is to stop treating programmers like cogs in a machine, and actually give them some amount of autonomy to make decisions.

<comment><USER22> On my agile team, we will say, "We see a problem here." We create an issue and start working on it, and alert the product owner as to why it is a problem and needs to take priority. We have that respect because we deliver working software. We are not the "fastest" team, but we get the latitude to make things better because we work with adults.

We refactor as we go, even if the business value could have been delivered "faster" by compromising long term value for short term goals.

But we also let them do their job and trust them to understand the strategic goals to the business better than we do.

<comment><USER21> Yeah, I recognize there's some places that do agile in a good way (hence the qualifiers I put in); I've just been burned enough that I tend to be deeply skeptical of it. What I've noticed is that some managers fall in love with charts and measurements (because they can use those metrics to impress others in the organization), and anything that can't be superficially measured ends up either being devalued or outright banned.

I remember one place I worked, they brought in consultants to "help" us create an agile process. After about four months or so, they declared the operation a success because the "velocity" had increased by 4x. (Which would be incredible if it were true). In reality, we were just measuring four times more things, and development was going much slower, but those charts sure looked nice.

</comment></comment></comment><comment><USER23> ...because you're all reading hackernews articles instead of working

<comment><USER24> Feeling guilty? ;)

</comment></comment><comment><USER25> A really great book about this concept, applied specifically to software, is _The Phoenix Project_ ([http://www.amazon.com/The-Phoenix-Project-Helping- Business/d...](http://www.amazon.com/The-Phoenix-Project-Helping- Business/dp/0988262592)). I recommend it highly.

</comment><comment><USER26> How do you start the online version of the game? Doesn't seem to respond to anything.

<comment><USER27> Hover your mouse over the two hidden blue panels on the left side.

</comment></comment><comment><USER28> A similar example regarding quality is Dr Deming's famous Red Bead Experiment. It is a fascinating insight into how dysfunctional management systems operate and perpetuate.

[https://www.youtube.com/watch?v=ckBfbvOXDvU](https://www.youtube.com/watch?v=ckBfbvOXDvU)

</comment><comment><USER29> I like the simplicity of the simulation. My take-away is that each station needs to plan for average throughput, not for capacity.

The problem is that you don't know what average throughput is until you run the system in production. So you might have either too much, or too little capacity.

</comment><comment><USER30> It's been quite a few years since I read The Goal. I can't remember now if I found the whole family narrative interesting and it kept me engaged in between the operations education, or if I found it a distraction.</comment>


Reddit censored/removed comments on Orlando shooting: watch live - <AUTHOR> https://r.go1dfish.me/r/news/comments/4nql8f/orlando_nightclub_shooting_megathread/?sort=new <comment><USER2> Well I wouldn't be surprised that they delete more stuff now. In that UCLA shooting a few days ago, the very top comment was a guy talking about how he was there, and how he has multple confirmations that there were 4 shooters, at least 1 of which was female, clothing descriptions of what each one was wearing, the different locations where each attacked all over campus, how there were at least 7 people shot and at least 5 dead.

It was all false. There was 1 single male shooter who shot one person then shot himself in 1 room.

<comment><USER3> I'm not sure your example really applies here... the mods here seem to be deleting comments that identify the shooter's name and ties to radical islam.

It's worth noting that even the FBI came out and stated possible links. /r/news is literally censoring news...

These megathreads used to be the goto source for breaking news. The one on /r/news is a huge joke. Literally every comment is deleted... redditors are resorting to /r/askreddit and /r/the_donald to discuss the shooting!

This is a big deal!

<comment><USER4> Removed -

[-]brettsinn 273 points 2 hours ago [removed] I found it really strange this wasn't the first thing I saw on the fp. Had to dig in order to find it.

Not Removed -

[-]JonBananas 106 points 2 hours ago It's the worst terrorist attack on US soil since 9/11 and there are almost zero threads about it.

The mods are deleting things according to ever-changing standards. Reddits move toward censorship has been documented before. This is particularly jarring.

</comment></comment></comment><comment><USER5> It's really interesting the comments that are being deleted. Even links to news sources and quotes cited from news sources are being deleted. Someone saying that this was a tragedy was deleted. I'm actually not sure what doesn't get deleted at this point.

</comment><comment><USER6> They were originally covering it, it only started getting censored when the gunman's religion was identified as Islam. I can sympathize with combating racist comments. I will not sympathize with people blatantly censoring the news because it doesn't flow with their politics.

</comment><comment><USER3> I've been following this all morning and it's crazy! I'm shocked that no admins have stepped in. If they don't soon, this could be a real turning point for Reddit as the "front page" of the internet.

You know it's bad when the FoxNews FB page is providing more information than Reddit.

<comment><USER7> I've gone ahead and added reddit to my /etc/hosts over this. Not because this in particular is so bad to warrant it on its own (though it is), so much as it is the final straw in a long line of things that should have been the last straw.

For people who are interested in actual news instead of meme wankery, Digg has been back for a while: [http://digg.com/](http://digg.com/)

<comment><USER8> The way reddit is going, I think it's entirely possible that digg could once again become the place to go, possibly even likely if they work towards an "uncensored reddit". I could see some event happening (like this), where a mass exodus occurs, just like happened to dogg.

<comment><USER7> Digg is doing a different model now, no comments. Honestly it's kind of refreshing.

<comment><USER8> That sounds boring, like a newspaper.

</comment></comment></comment></comment></comment><comment><USER9> Wow, went through a few threads there and the moderators are outright banning anyone who mentions the religion of the shooter, which the fbi has confirmed.

</comment><comment><USER10> top comment there now from the mods: "Only comments breaking our rules are being deleted. If you think its more productive to cry about censorship then it is to discuss this horrifying event, we suggest you try another subreddit."

I think it's safe to say these are not the people you want moderating /r/news

(meanwhile, the top thread on at least my frontpage about it is now from /r/AskReddit, where they seem to be having a more reasonable discussion and are only deleting comments trying to doxx people)

<comment><USER11> "awful" seems like the likely steady state for the volunteer moderation of any large online community. Especially when the moderator pool is closed or otherwise self-selecting.

It's one of those jobs where you probably don't want to give it to people that really want to do it.

</comment></comment><comment><USER12> Not Reddit. Just the moderators of r/news. If the admins don't don't do anything about it though, _then_ it's safe to assume they condone such practices.

<comment><USER13> The fish always rots from the head.

</comment></comment><comment><USER14> Apparently in the face of the /r/news moderator behavior this moved over to /r/AskReddit, and is back on the front page.

Looking through that thread, I also saw a few recent notes about things starting to be undeleted/unmuted in /r/news, the suspicion being that actual reddit admins have started to get involved now.

</comment><comment><USER15> It's interesting that somehow we all think we can immediately divine the motivations of someone who kills a bunch of people when very often it takes a lot of time and investigation by police and prosecutors to determine motive in a court of law. It's not at all surprising that the conversations immediately following something like this are colored by politics. Was the shooter motivated by religious extremism? Was he motivated by hatred of LGBT people? Was it caused by too-liberal gun laws? Could it have been prevented by someone carrying concealed in the club?

Really, who cares? Why are so many people more concerned with framing future political arguments about causes and solutions? None of it actually helps the victims or helps prevent future incidents.

</comment><comment><USER16> They seem to unblock some threads now (but with comments still locked).

Reddit has become a weird place. Where have the normal people gone?

<comment><USER17> Most online communities fall apart when they hit a critical size.

I only visit a few small topical reddits now, like Space and SpaceX. Those are decent.

HN is YC's kingdom. I expect a certain bias here and factor that in, but it's remained interesting and has avoided melting down into a total echo chamber or dumb meme cascade.

</comment></comment><comment><USER18> This was censored. I think it's safe to say that Reddit has a moderation problem.

Edit: to those downvoting, care to explain why this post is controversial? I can't understand the mindset at all.

\--

KEEP POSTING THE MODS ARE DELETING VITAL INFO!!

If you are in Orlando, please be safe and please donate blood if you can. Here are the locations to donate blood:

O+ and O- blood donors needed. Due to the shooting overnight, the hospital and blood bank is critically low right now for donated blood. If you are able, please go this morning to donate at one of the locations below. This valuable gift you can give is a direct way to help those injured from this tragic incident. The Orange, Osceola, and Seminole locations open today are:

Orlando - West Michigan Donor Center 345 West Michigan St #106 Orlando, FL 32806 Phone: 407-835-5500 Fax: (407) 835-5505 Sun: 7:00 AM - 2:00 PM

Orlando - Main Donor Center 8669 Commodity Circle Orlando, FL 32819 Phone: (407) 248-5009 Fax: (407) 455-7570 Sun: 7:00 AM - 1:00 PM

Apopka Donor Center 131 North Park Ave Apopka, FL 32703 Phone: (407) 884-7471 Fax: (407) 884-7475 Sun: 9:00 AM - 3:00 PM

Kissimmee Donor Center 1029 North John Young Pkwy Kissimmee, FL 34741 Phone: (407) 847-5747 Fax: (407) 847-9605 Sun: 8:00 AM - 2:00 PM

Oviedo Donor Center 1954 West 426 #1100 Oviedo, FL 32765 Phone: (407) 588-1291 Fax: (407) 365-9982 Sun: 7:00 AM - 3:00 PM

Lake Mary Donor Center 105 Waymont Ct #101 Lake Mary , FL 32746 Phone: (407) 322-0822 Fax: (407) 328- 1119 Sun: 8:00 AM - 2:00 PM</comment>


A Retro, Not Steampunk, Media Center - <AUTHOR> http://hackaday.com/2013/10/02/a-retro-not-steampunk-media-center/

<comment><USER2> This is all around awesome. Every bit of it, right down to the power strip[1] seems to be well-chosen to fit the aesthetic. Truly, a great mix of engineering and artistic skills.

1\. [http://audio.toddkumpf.com/power- strip#](http://audio.toddkumpf.com/power-strip#)

<comment><USER3> Probably the best combination of personal engineering and artistic skills is the work (hobby?) of Tatjana J. van Vark:

[http://www.tatjavanvark.nl/projects.html](http://www.tatjavanvark.nl/projects.html)

Some of her stuff is absolutely stunningly beautiful and wonderfully esoteric e.g. "Mechanical Fourier Analysis and Synthesis":

[http://www.tatjavanvark.nl/harmonium/harmonium.html](http://www.tatjavanvark.nl/harmonium/harmonium.html)

</comment></comment><comment><USER4> Site appears to be suffering under the load. Here's links to google cache for a few of the pages:

concept: [http://webcache.googleusercontent.com/search?q=cache:el5m9JG...](http://webcache.googleusercontent.com/search?q=cache:el5m9JG8ewwJ:audio.toddkumpf.com/concept/+&cd=4&hl=en&ct=clnk&gl=us)

process: [http://webcache.googleusercontent.com/search?q=cache:9ItuTOZ...](http://webcache.googleusercontent.com/search?q=cache:9ItuTOZ_QhAJ:audio.toddkumpf.com/process04/+&cd=1&hl=en&ct=clnk&gl=us)

gallery: [http://webcache.googleusercontent.com/search?q=cache:TekvDuj...](http://webcache.googleusercontent.com/search?q=cache:TekvDujLqEwJ:audio.toddkumpf.com/gallery2/+&cd=1&hl=en&ct=clnk&gl=us)

blog: [http://webcache.googleusercontent.com/search?q=cache:ir6N8bK...](http://webcache.googleusercontent.com/search?q=cache:ir6N8bKiULQJ:audio.toddkumpf.com/blog/+&cd=1&hl=en&ct=clnk&gl=us)

</comment><comment><USER5> I wonder how is the streamed audio being output to the speakers. As far as I know, non-HDMI Raspberry PI's audio capabilities just suck.

<comment><USER6> USB sound card

<comment><USER7> USB sound cards are not always of very good quality. They do transform the signal in various ways.

I mean, if you are serious about audio, you should not even be using a Pi in the first place.

<comment><USER8> Did you look at the speakers it has? Basically computer speakers from a cinema type setup.

This is very clearly a project about aesthetics and solving a problem that the individual had (integration of various audio systems - turntable + spotify), rather than one about quality of sound.

From an aesthetic perspective this is one hell of a well done job. Everything about it looks good. It won't sound incredible given the speakers used, so it is not necessary for the USB sound card and Pi to also provide a sublime and low-noise signal.

In fact one could argue that given the aesthetics, it not sounding perfect fits the design aesthetic of the project.

<comment><USER7> Sure, I have no issue with that. I just wanted to clarify that USB sound cards are sometimes very much sub-par in terms of audio quality and one should be very careful about their choice there.

<comment><USER9> I've been looking for a good USB soundcard. Is there anything in particular you would recommend?

<comment><USER10> If you want only to listen, USB DAC is good option. Buy sabre based diy[1]. It's simple and uses great components - best reciver and best in its budget class dac.

[1] [http://hifimediy.com/index.php?route=product/product&product...](http://hifimediy.com/index.php?route=product/product&product_id=107)

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Anyone have suggestions for a good, cheap-ish, USB DAC? I use my rpi for Airplay but the onboard DAC is not the best.

<comment><USER12> Check out [http://www.raspyfi.com/](http://www.raspyfi.com/). Their aim is to turn the RPi in to a respectable HiFi source so the DAC is a big part of this.

</comment></comment><comment><USER13> anyone know what the 2 tracks in the video are?

<comment><USER14> Yellow Bird and Vibe Vendetta off of Pretty Light's A Color Map of the Sun.

<comment><USER15> The band is Pretty Lights, not Pretty Light's, for anyone else trying to look them up.

</comment></comment></comment><comment><USER16> this is sick</comment>


My Reveal - <AUTHOR> https://www.ivymclemore.com/blog <comment><USER2> I worked a short stint at a quantum computing startup where the founder claimed _he_ was the real Satoshi, and got mad when I suggested that maybe it was actually someone else.

There will be a few more Satoshis before we finally reach the end of this.

</comment><comment><USER3> Yup, Part II & Part III posted "Woops I lost the Satoshi wallet" and more numerology.. Color me unconvinced.

</comment><comment><USER3> No mention of making any transactions with the Satoshi wallet.</comment>


Gradle vs. Maven Feature Comparison - <AUTHOR> http://gradle.org/maven_vs_gradle/

<comment><USER2> "Groovy" isn't mentioned even once on this page. Are the Gradle people embarrassed about their sole offering of Groovy for the build DSL? Because Maven uses XML, any programming language can sit on top and be used as a configuration DSL. [https://github.com/takari/polyglot- maven](https://github.com/takari/polyglot-maven) not only offers Groovy, but also Clojure, Scala, and Ruby.</comment>


NPM and Left-Pad: Have We Forgotten How to Program? (2016) - <AUTHOR> https://www.davidhaney.io/npm-left-pad-have-we-forgotten-how-to-program/ <comment><AUTHOR> What is it with Javascript in particular that results in projects having a large number of dependencies and very small 3rd party packages?

Java has a large built-in standard library and developers often use 3rd party libraries like Apache Commons StringUtils that bundle multiple useful functionality into a single dependency. Before that C and C++ have standard libraries.

Python has the equivalent dependency management system to npm but doesn't seem to suffer from the same huge number of small packages and dependency explosion (in my experience)

Is this because of the Javascript language or Javascript developers? Or do others think this is a good thing?</comment>


Addiction: what is addiction - <AUTHOR> http://m.imgur.com/gallery/Oat0I <comment><AUTHOR> I do not know much about the studies referenced: I meant to ask HN if you share knowledge on the matter? Thanks.</comment>


The Email Blackbox - <AUTHOR> http://merricklozano.com/email-blackbox

<comment><USER2> Yup, coming from a developer of a spam filter (<http://www.openprotect.com>), this is a common enough occurrence which sometimes means lost opportunities. At least in our software, which acts as an SMTP gateway, the server returns a SMTP error code after message data when the filter thinks its spam and quarantines the message, which causes most sending mail servers to generate a non delivery reciept to the sender (<http://en.wikipedia.org/wiki/Non_delivery_report>). I know a couple of other spam filters that do this, but the majority of the spam filters out there dont alert the senders that their mail has not reached the recipients inbox and is sitting in some spam folder or quarantine.</comment>


Mailgun Campaign Analytics: taking analytics beyond bulk email - <AUTHOR> http://blog.mailgun.net/post/18581472770/mailgun-campaign-analytics-taking-analytics-beyond <comment> old-gregg Co-founder of Mailgun here. One of the triggers behind this kind of analytics came from the excellent blog post by Paul Stamatiou ([http://paulstamatiou.com/startup-user-retention-lifecycle- em...](http://paulstamatiou.com/startup-user-retention-lifecycle-email)) which highlighted the importance of detailed analytics for _all_ types of emails you do, not just "weekly newsletters".

Additionally, we discovered that most of our users _also_ use traditional email marketing companies, so we decided to kill two birds with one stone.

This new product we've launched basically allows you, the developer, to become your own Mailchimp over the weekend at a fraction of the cost. And slice/dice your email traffic with arbitrary granularity, down to individual message level.

<comment><USER2> This looks great - I'm sold.

Question: what's the easiest way to send drip content via Mailgun? I'm putting together a few apps that rely on email, and I couldn't find drip email information in your docs.

Are there built-in features to make drip mails easy, or do I need to code a message sequence + cron job myself?

<comment><AUTHOR> We don't get involved with your application logic for when to send emails. We just make it very easy to send and track them programmatically.

Edit: For example: you can create and destroy mailing lists programmatically, send emails without worrying about MIME, set a specific delivery time for your emails based on when users are most likely to click on them, access analytics through API, etc.

</comment></comment></comment><comment><USER3> Mailgun is probably my favorite service. I have never had a problem using them. Any perl devs that want to use it I started a wrapper here <https://github.com/gtsafas/mailgun.perl> . Havent had a chance to really finalize it yet but feel free to fork, its just using LWP::UserAgent.

But then again their api is so simple its almost not needed

</comment><comment><USER4> We've been using Mailgun for the last couple months at COLOURlovers to manage and analyze our weekly newsletter campaigns (400k+/week) and handle our transactional email. Easily worth every penny, and the support from Taylor and Ev has been fantastic.

</comment><comment><USER5> I am a free user of Mailgun who emailed the team about a feature request. It was a Sunday. They responded immediately. Again,it was a Sunday. 36 hours later, they emailed again; the feature was LIVE. Oh. Needless to say I am gladly turning into a paying user in a few days.

</comment><comment><USER6> Wow, this looks fantastic. Can't wait to try it out.

(We've been using MailGun successfully for over a year now to send all of our outgoing email for Lanyrd - hasn't caused us a single problem)

</comment><comment><USER7> I've been looking at Mailgun for an upcoming project, and I must say "bravo" on the new website design.

<comment><USER8> I was just going to say the same. I'm very happy with the new design :) I just wish the admin panel did get the same attention, but it is great anyway! Congrats!

</comment></comment><comment><USER9> Mailgun is a really great service for us at Zhihu.com. We switched away from Amazon SES to Mailgun for sending weekly newsletters three months ago and got amazing improvement in deliverability. The API is much simpler and well designed. No more XML parsing with SES!

A few days ago we moved our transactional notification mails from Postmark to Mailgun, and we are very pleased with the result. Given our volume, Mailgun's price is significantly lower than Postmark's ($0.10 vs $1.50 per thousand), and we don't have to deal with many issues we had with Postmark.

Ev and the whole team are fantastic at support!

</comment><comment><USER10> Just a quick pet peeve. Your Twitter link text in the header says "@mailgun" but your twitter username is "@mail_gun".

:)

<comment><AUTHOR> Ugh, I know. We've been trying to get @mailgun but Twitter's policies don't make it easy (not saying they're right or wrong).

<comment><USER10> Yeah, bummer. At the very least, you should just update the link text (I just slapped "mailgun" into Twitter for Mac and couldn't find you).

<comment><AUTHOR> Oh, yeah. Thanks for the catch. Will do.

</comment></comment></comment></comment><comment><USER11> We have been using Mailgun at our startup for a month now and to say that I am very satisfied with Mailgun would be an understatement. Mailgun rocks and I would highly recommend it for any startup.

</comment><comment><USER12> We're huge Mailgun fans at AppFog and LOVE the new analytics!! Nice work.

</comment><comment><USER13> Mailgun rocks. We use it at dotCloud and it has never failed us.

</comment><comment><USER14> The pricing plan is very confusing, definitely should simplify that. Maybe use something like heroku pricing page

<comment><USER15> I agree. It took me an uncomfortably long time to figure out that the cheapest plan was on the _right_ side and got more expensive on the left.

</comment></comment><comment><USER16> How do you determine "unique opens"? How do you determine the links clicked on? Do you send them to your servers first and then redirect to the actual url?

<comment><AUTHOR> Yes, exactly. You set up a CNAME record that points to us, which is one of the DNS records in your Mailgun control panel.

</comment></comment><comment><USER17> I need user acquisition as a service before I can worry about user retention as a service. Got something for that?

</comment><comment><USER18> Truly informative.For the last couple of days I was looking for a flexible mail analytic product.It sounds good.The fact that I like most in mail gun is that it will give a time line of the events of the day when recipients are interacting with my email.</comment>


OpenBSD forked to create Bitrig - <AUTHOR> http://www.h-online.com/open/news/item/OpenBSD-forked-to-create-Bitrig-1616954.html

<comment><USER2> long time ago former openbsd committer here (when that meant something).

while i have wanted to see someone do this for a long time - an openbsd with a faster feature velocity - i have not seen anything here that suggests these guys can pull it off.

who are they? the FAQ doesn't state. openness is crucial.

aside from a git repo and a wiki, what else do they have to give anyone hope.

wow, it feels like it's been eons since anyone forked openbsd. remember microbsd?</comment>


That Long, Long Road From Idea to Success - <AUTHOR> http://www.nytimes.com/2009/07/05/technology/start-ups/05essay.html?src=twr

<comment><USER2> Interesting discussion of a start-up with an idea I would like to apply in my daily work and personal life.

"GreenPrint's travails are all too common for small technology companies. 'The gulf between invention and innovation is often a huge one that many entrepreneurs can't cross,' said Scott D. Anthony, president of Innosight, a consulting firm.

In other words, it's not easy to turn a bright idea into a genuine business."

</comment><comment><USER3> It might not be helping GreenPrint that they have an excellent long standing and successful direct competitor in FinePrint: <http://www.fineprint.com/products/fineprint/index.html>

I used to use FinePrint back when I used Windows and it's really quite good.</comment>


The Miasma - <AUTHOR> https://feld.com/archives/2019/10/the-miasma.html <comment><USER3> There are a lot of interesting societal effects caused by the internet and social media, many of them very problematic. But when was this time in the past when people agreed about facts? Is it during the period of time when we lionized science after WWII and before the 80s but during which smoking was still healthy? Or was it when the Church decided what was true? Or was it when Hearst could print what he wanted and make it so? We have been in the Miasma since the dawn of civilization.

Neal Stephenson had a hand in sparking my interest in cuneiform and I've read many tablets myself (mostly Ugaritic and some Akkadian). The same effects are evident all the way to the beginning of recorded history, and likely predate it. The Miasma is the result of any indirect epistemology combined with human proclivities. There is a certain scale and swiftness that is novel, but it's not yet a brand new thing: much as flash crashes on the stock market are a new side-effect of high frequency trading, the crash of 1929 happened just fine without it.

The Miasma is us, not the tech we use to connect us.

<comment><USER4> Thank you. There were tabloids and conspiracy theories and alternative facts long before Facebook's newsfeed.

But: there is the question of whether the tech somehow amplifies it, makes it worse in a way that we are somehow less equipped to handle.

<comment><USER5> Are humans capable of detecting and understanding what that amplification means? Even though our pattern-matching is a wonderful skill, it doesn't always serve us well. We exaggerate local effects. We are known to be terrible at understanding risk. And I've even heard that nine out of ten dentists are bad at statistics.

I'm not saying we shouldn't ask the question. I'm saying we need a way to answer it that factors out human perceptual error.

<comment><USER6> Feedback loops are shorter, news reports are increasingly more useless[0], and our current age is somewhat unique - reporting of the past didn't have a strong economic system attached whose sole purpose is making it less truthful, less accurate, and more disagreeable. I'm, of course, talking about funding media through advertising impressions at article granularity.

\--

[0] - Gwern makes a really good argument that with the amount of people we have on the planet and how information moves near-instantly around the world, you can plausibly assume that all news reports are flukes, one-in-a-million events, "rare datapoints driven by unusual processes such as the mentally ill or hoaxers are increasingly unreliable as evidence of anything at all and must be ignored." [https://www.gwern.net/Littlewood](https://www.gwern.net/Littlewood)

</comment></comment></comment></comment><comment><USER7> One question that recently came to me regarding technology is: "What happened to all the hope and optimism?".

Growing up as a kid in the 80s, I remember the development of personal computing as _exciting_ , and especially with the explosion of the Internet in the 90s, the possibilities being envisaged by everyone were utterly intoxicating. Finally we would have world that connected disparate cultures, a bridge of communication that would help us understand each other and appreciate different points of view. A true global community. For those of us coming of age during this period, "surfing the web" was exciting because every week you'd learn about or discover something new, and there was a highly experimental, creative, and fun tone to the whole thing.

Instead now we have social media that is largely just a venue for people to yell without listening, political entities to peddle misinformation that serves only their own interests, an entire industry sector dedicated to exploiting personal information to target ads, a culture of consumption rather than creation, and the centralisation of online life into the hands of a small corporate oligarchy. This isn't what most people were hoping for in the 90s, though a few were warning of potential risks.

Like the author, I recently read Edward Snowden's book, and in one of the early chapters he talks about the experience of growing up with the Internet in the 90s in a way that resonated closely with me. Fast forward to the end of the book, which is absolutely chilling, and it feels like you're reading a dystopian science fiction novel, except it's _real_.

The Internet of today is almost unrecognisable from the early days. Stepping back I just throw my hands up and wonder what the fuck happened? Is there any hope that it can become better, or is it just going to be a further descent into cynicism? And what, if anything, can we do about it?

<comment><USER8> What we need is to quantify the negative impact that negative storytelling has on our wellbeing and direction. That will help us understand the importance of positive heuristics for the future, as in the 60s-90's.

We should avoid a negative vision of the future. But we also need a positive vision of future to attract us and guide us.

Stewart Brand had one. Many techno utopians did. But now so few intelligent people believe it is _morally acceptable_ to be optimistic. After all, climate, race, capitalism...

<comment><USER9> > But now so few intelligent people believe it is morally acceptable to be > optimistic. After all, climate, race, capitalism...

We have to consider the moral implications of our social and economic structures as well as our impacts on the only place we have in the universe to live if we are going to have a positive vision of the future.

The greatest challenge here is not being silenced by those who have a vested interest - logical or otherwise - in preserving the status quo with regards to these things.

<comment><USER8> Well, my argument is that we need a positive vision without considering how _exactly_ we will fix our social, economic and environmental issues. That's my point. We can't wait till we figure that out to have a guiding optimistic vision of the future. We simply have to assume we will figure it out.

Second, and with respect, I would suggest that your rhetoric, which is quite common (and, by the way, represents vested interests in status quo intelligensia), is doing a lot of silencing. It's quite pervasive.

I'd argue that contemporary liberal group norms are much more silencing than, say, the oil industry.

<comment><USER9> > Second, and with respect, I would suggest that your rhetoric, which is quite > common (and, by the way, represents vested interests in status quo > intelligensia), is doing a lot of silencing. It's quite pervasive.

> I'd argue that contemporary liberal group norms are much more silencing > than, say, the oil industry.

Do you not see the hypocrisy in this statement? You're attempting to discredit my entire viewpoint by painting it as "liberal intelligensia rhetoric" \- whatever that means.

And as to your second point, the oil industry has a long record of covering up evidence of climate change, silencing victims of pollution/fracking, manipulating political process in order to continue destroying the planet, and so on.

I'm not saying Harvey Weinstein should have lost his job, but the oil industry is certainly responsible for more silencing than "liberal norms" by an order of some magnitude.

<comment><USER8> I don't see the hypocrisy, no.

To be clear, I'm not trying to discredit your view, I'm only suggesting that your comment was an example of optimism silencing.

And, we may have to agree to disagree that the oil industry suppresses more people's speech than political correctness.

</comment></comment></comment></comment></comment></comment><comment><USER10> >When I described this to Amy, she responded with a magnificent rant that was something like "this is a romanticized utopian ideal about a thing that was inhabited by socially inhibited, white male nerds who consider themselves too smart to be misogynistic but, well, often are."

This kind of thinking is itself a major cause and component of the Miasma.

<comment><USER11> I don't get it - the nerds were misogynistic, therefore his memory and experience are invalid?

<comment><USER12> Not just that, she's saying the nerds themselves were invalid.

Guess she's a misollectual.

<comment><USER13> I don't read her as saying that the nerds were invalid.

I think what she's saying is that if you were part of this group, the early Internet seemed welcoming and inclusive, but if you weren't, it was the opposite. From _within_ a community it's easy to feel inclusive!

For whatever it's worth, even though I am a white male nerd myself, I never really felt welcome in "hacker spaces" and such. It must be a lot worse for people who are not white or male. And I'll believe her when she says that that was her experience with the early Internet. (Or, well, today's Internet.)

<comment><USER6> > _I think what she 's saying is that if you were part of this group, the > early Internet seemed welcoming and inclusive, but if you weren't, it was > the opposite. From within a community it's easy to feel inclusive!_

Arguably, the people who weren't "in the group" at that time were people who weren't interested or didn't have access. Internet was neither global nor cheap nor popular back then.

As for the misogyny angle, I feel either she fixated herself on a problem and is projecting, or this remark was included to signal allegiance with the social justice crowd. As it is now, the comment reeks of antiintellectualism.

> _It must be a lot worse for people who are not white or male._

I don't think it was back then, because back then people didn't care much about it, and a lot of communities of post-university Internet were text-only pseudonymous communication anyway. As for what's today, increasingly it's being white or male that makes you out of place in a hacker space.

<comment><USER13> > a lot of communities of post-university Internet were text-only pseudonymous > communication anyway

So is this. Which is enough for you to spread the old, tired, harmful, and incorrect trope that "people who are not in tech are just not interested". A text-only discussion of how women or minorities don't belong because they don't _want_ to belong is unwelcoming in itself.

> As for what's today, increasingly it's being white or male that makes you > out of place in a hacker space.

You are twisting my words. For one thing, I don't feel "out of place" among non-white non-male people. People are people, I'm not afraid of them because of the color of their skin or what I guess their genitalia are like. For the other, all the hacker spaces I've seen where I didn't feel welcome had large white male majorities.

<comment><USER6> > _So is this._

Yes. And I don't know what your race or gender is, nor do I care, nor would it make a difference if I knew.

> Which is enough for you to spread the old, tired, harmful, and incorrect > trope that "people who are not in tech are just not interested".

At this point in time today, not only it's not a tired trope, it's pretty much an obvious truth. Programming today has zero structural barriers to entry, minimal capital requirements, and unprecedented amount of affirmative action targeted at all kinds of minority groups. If in 2019 you aren't programming, you're either not interested in doing so (a fine choice!), or can't (due to economic or health constraints).

Still, I was talking about the times where the Internet was a peculiar things only particular types of nerds, discriminated against in the physical world, ever found interesting. Getting on-line, or into programming in general, required more effort and money - you had to convince yourself or your parents that a PC and a modem and future phone bills were useful expenses - and didn't yet offered obvious paths to riches. If you were in there, it meant you were interested _and_ had wealth to spare. That means, obviously, that a lot of people were excluded.

But if the point you're making is that any group with barriers to entry will exclude someone, then I don't see the point of making that point.

(You'll also notice that all the talk of the tech being unwelcoming started only after commercial Internet exploded and some of those high-school oppression targets made a shit ton of money and influence. Once tech became seen as the easiest path into money and fame, people started asking "how come the population of tech workers isn't uniformly distributed across all the characteristics you could think of", and people who were underrepresented followed that with "how can we fix it so we too get a piece of the pie?".)

I see some people on-line have a peculiar definition of what it means for a field to be welcoming - not only it has to remove all the barriers to entry, but it also has to bend over backwards to make the demographics uniform. It's true that the tech, until recently, didn't do the latter.

<comment><USER13> > If in 2019 you aren't programming, you're either not interested in doing so

In a very trivial sense this is true-ish. In the US lots of women seemed to have lost interest in computing in the mid 1980s: [https://www.npr.org/sections/money/2014/10/21/357629765/when...](https://www.npr.org/sections/money/2014/10/21/357629765/when- women-stopped-coding?t=1570789952549)

With a massive change like this, there must be some sort of societal shift behind it. You don't have to buy the article's thesis regarding the concrete reason. But there was _something_ going on in society that changed young women's minds.

But "society pressured me into losing interest" is not the same as "I wasn't, our could not have been, interested in the first place". So yes, many women "aren't interested" in the trivial sense of "we had enough discussion threads in HN and elsewhere signaling that they shouldn't be interested, and finally this perception stuck".

> If you were in there, it meant you were interested and had wealth to spare.

If we agree that in many cases that wealth came from parents, there is no reason to assume that young women had less of it than young men. _Unless_ there were factors like parents saying things like "computers are for boys". From the article above: "In the 1990s, researcher Jane Margolis interviewed hundreds of computer science students at Carnegie Mellon University, which had one of the top programs in the country. She found that families were much more likely to buy computers for boys than for girls — even when their girls were really interested in computers."

If you were in there, it meant you were interested (check), your parents had wealth to spare (check), _and you were very likely a boy_.

Anyway, all of this has been rehashed many times before, and we're unlikely to change each other's minds.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> > _When I described this to Amy, she responded with a magnificent rant that > was something like "this is a romanticized utopian ideal about a thing that > was inhabited by socially inhibited, white male nerds who consider > themselves too smart to be misogynistic but, well, often are."_

Hey, there were some black male nerds on the internet then too.

</comment><comment><USER15> The internet was better in the past and that had nothing to do with the types of people using it. It could have been used by alien circus clowns and it would have been better. Why? Because it hadn't been weaponized yet. Nobody important realized in the 90s that there was going to be an upcoming war for attention span, for control of the narrative, for monitoring of the population, or for industrial/state-sponsored espionage. And it all was going to happen on the internet.

So if you ran across a discussion on X, you could poke around, find some scholarly articles on X written by, well, scholars. Not by scholars who were paid off or were looking to become the next internet superstar. So no, people didn't magically agree on facts, but there wasn't this endless chasm of belief-reinforcing bullshit that there is today, either. You could just go look stuff up.

There's another, larger discussion about whether it's good or bad, how to sew a silk purse from a sow's ear and the rest of it. But a difference in quantity can result in a difference in quality. Simply having more and more people come online and do things changed the nature of the net.

<comment><USER16> Well said. And weaponisation aside, usage and consumption of the whole new media was entirely better, because advertising and marketing companies sti haven't had the hold of it.

</comment></comment><comment><USER17> The first half of that book was so much more enjoyable (to me) than the second half.

I understand the limits and personal opinions that go along with this sort of semi-satirical/semi-predictive fiction. Still, the bits about identity verification, acceptance of "fake news" and slander, personal feed editors, and the fragmentation of society based on choice of info feeds straddled the line between believable and crazy/entertaining.

I could have done with a whole novel set in the world prior to the simulation bits.

</comment><comment><USER18> > I've deliberately disengaged from some of it through deleting my Facebook > account, limiting my Twitter usage to broadcast only, and trying to use > LinkedIn in a productive way even though the UX seems to be set up to > purposely inhibit you from using it in a way that doesn't suck you into the > LI vortex.

Unless you have deleted your twitter, you have not disengaged with the Miasima. It is far more intellectually toxic than Facebook ever will be. I honestly think it might the worst thing that's ever happened to western thought.

</comment><comment><USER8> Cynicism, I believe, is the thoughtenemy. Trump, for those who loathe him, is a result of the cynicism of the left to not vote for Hillary. It's not because the right was too strong! As they say, "The perfect is the enemy of the good."

In the Diamond Age, Stephenson alludes to this, in his criticism of those focused on hypocrisy. After all, you can only be a hypocrite if you try to pursue moral actions.

</comment><comment><USER19> The Internet works fine for getting good information on fast-changing things - like programming. Otherwise, I'd stick to libraries (the book ones).

Unfortunately, while we're staring at the "Miasma", the real miasma has been wreaking havoc in the real world - climate change. And the Internet is literally contributing to this miasma now with online video traffic for entertainment burning up data centres and networks around the world.

<comment><USER20> Let's do a rough estimation. A home router uses about 10W. It's unlikely a ISP router will use more for each stream, so if there are 6 on route, were talking about 60W. For the server, even if the CDN used a dedicated NAS for each user, we're talking about ~30W. Doubling all that to account for overhead, it's about 200W.

For comparison, a Tesla Model S uses about 200kWh/km, so a mile driven uses about the same energy as streaming 1.5hrs of video. A round-trip to a movie theater 15 miles away = 45 hours of streaming video.

<comment><USER19> You're forgetting about networks' and data centres' energy requirements. A recent report estimates currently use of the carbon footprint of digital technologies is about 4% of global emissions, and in a worst case scenario by 2025, digital technologies may amount to 7% of global carbon emissions. For reference, global emissions as of 2018 grew to 37 billion tonnes CO2 equivalent.

>>Digital technologies now emit 4% of greenhouse gas emissions (GHG), and its energy consumption is increasing by 9% a year. [...] only one form of digital use, online video, generates 60% of world data flows and thus over 300 million tons of CO2 per year. This use is far from being "dematerialized". On the contrary, it represents 20% of the greenhouse gas emissions of all digital devices (use and production included), and 1% of global emissions, i.e. as much as Spain.

[https://theshiftproject.org/en/article/unsustainable-use- onl...](https://theshiftproject.org/en/article/unsustainable-use-online- video/)

<comment><USER20> > You're forgetting about networks' and data centres' energy requirements.

No, I'm literally counting those requirements. Hence routers + server (+100% for overhead, like cooling).

> A recent report estimates that in a worst case scenario by 2025, digital > technologies may amount to 7% of global carbon emissions.

Why do you trust that report? The numbers don't even make sense; just as an example, dividing the watched VoD time by the consumed VoD data, you get 24Mb/s, yet they say on the same row, "Average Bitrate : 3 Mbps". That's a 8x difference!

<comment><USER19> >>No, I'm literally counting those requirements. Hence routers + server (+100% for overhead, like cooling).

I would not say you're "counting", you're rather doing a back-of-the-envelope calculation with eye-balled numbers.

These estimations are difficult by nature. I don't "trust" the report per se, but they do provide sources, from which I can inform myself. Which is more than I can say about your calculations, which come without sources.

Digital tech is one of the fastest growing carbon polluters, and data centres alone account for almost 50% of the emissions. Now, the specific attribution to online video may be less clear-cut, but the trends have been replicated in multiple studies. You may also be interested in this recent report: [https://www.sciencedirect.com/science/article/pii/S095965261...](https://www.sciencedirect.com/science/article/pii/S095965261733233X)

Can you point me to this inconsistency? >>Why do you trust that report? The numbers don't even make sense; just as an example, dividing the watched VoD time by the consumed VoD data, you get 24Mb/s, yet they say on the same row, "Average Bitrate : 3 Mbps". That's a 8x difference!

<comment><USER20> > I would not say you're "counting", you're rather doing a back-of-the- > envelope calculation with eye-balled numbers.

Yes, of course. My point is that I wasn't forgetting them.

> I don't "trust" the report per se, but they do provide sources, from which I > can inform myself.

And did you?

> Now, the specific attribution to online video may be less clear-cut

That's the thing, though. We _know_ that streaming a video is a very low-power activity, since we can do so with a very low power device. And I added 100% of overhead, whereas the PUE of a real datacenter is actually about 1.09 nowadays.

So any report that tries to tell me Google or Amazon, who spend millions on DC energy improvements, are wasting orders of magnitude of energy more, is not a serious report.

A very big issue is that they assume a linear correlation between transferred data and power use. For the network part that may be reasonable, but for the DC is absolutely is not. Mining cryptocurrency, for example, takes a huge amount of energy to produce a message of a few KBs.

> Can you point me to this inconsistency?

It's in the Technical details of the report.

<comment><USER19> >>A very big issue is that they assume a linear correlation between transferred data and power use.

Right, so they do have to make lots of assumptions (same as all reports I've seen that are trying to estimate carbon footprint) - e.g., about the type of network, the device, the energy mix supplying DCs etc etc. For instance, only 2% of networks in a country like Germany go over fibre, rest is copper. In Italy lots of people outside major cities use LTE for regular Internet access - absolutely insane in terms of energy use.

>>any report that tries to tell me Google or Amazon, who spend millions on DC energy improvements, are wasting orders of magnitude of energy more, is not a serious report.

You're talking past the point here, seems to me. The report is _not_ claiming that any specific technology is "wasting energy" in terms of efficiency - <USER2> poses the question of whether this energy is spent "wisely", seeing that supposedly the world is trying to reduce global emissions, and the consumption of say DCs or online video is growing constantly. Surely, not an unreasonable question to be raised, don't you think?

Amazon may be efficient but their energy comes mostly from non-renewable sources. On a scale of 1-10 how important do you think this use of dirty energy is?

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> A cloud of malaise in the miasma sky—suffused by Kelly's technium, by Mumford's megamachine, et al.</comment>


How netbooks died the death of a thousand cuts - <AUTHOR> http://www.itworld.com/hardware/176841/who-killed-netbook

<comment><USER2> This article mentions nothing about the whisper campaign that essentially touted them as not being Windows compatible, so ones with regular harddrives came out, and the price became the same as a regular notebook.

I remember going to Microcenter to pick up an EEE and they pretty much, even though I specifically asked for it, prevented me from buying one. They did the following:

1\. Said "Oh you don't want that, it doesn't run Windows" (I said that's fine, I run linux)

2\. Then they said "well, we don't know the price, but we think it is $699" ...... it should've been like $300 or so.

3\. Then they said they didn't have any, and wouldn't sell me the display model.

The margins may well have been able to improve with scale, but I'm fairly convinced that a subtle market manipulation was perpetrated by someone somewhere because truly affordable technology pops the bubble.

</comment><comment><USER3> A bit of a meta-comment: This article is so poorly edited and — as a result — so overly long that it makes me wonder if _IT World_ encourages its writers to blather on for pages in order to gin up page views. In my case, it didn't quite work out, as I stopped reading about halfway down the third page and left, making a mental note not to bother reading articles on _IT World_.

<comment><USER4> Yes, it's a very poorly written and edited article. Unfortunately, I kept reading because it seemed there would be something interesting on the last page. There isn't.</comment></comment>


Ask HN: Do you think handwritten SQL is error prone? If so, why? - <AUTHOR> Someone on my team made the claim today that writing SQL by hand is somehow error prone and that for this reason we are better off using an ORM. I'd like to understand why someone would say that. <comment><USER2> No, I absolutely don't think so.

If you're used to thinking imperatively SQL's declarative approach might seem unfamiliar and somewhat less robust (because you don't explicitly tell the machine what to do but to some extent rely on it doing the right thing), even though it's not.

I'd even say that for anything else but trivial queries using an ORM framework tends to be more error-prone than using plain SQL precisely because of the well-known impedance mismatch between the two.

With ORM frameworks more complex queries often can't be expressed as concisely as with SQL, which leads to more code and clumsy work-arounds. More code, in turn means more potential for errors.

<comment><AUTHOR> This has indeed been my own experience. I do wish we could get rid of our ORM and use Postgrest instead but the opinion was put forward that we won't be able to hire people who can write correct SQL.

</comment></comment><comment><USER3> Only in the same way that hand written javascript or ruby is error prone.

Come to think about it, we actually are seeing something of this attitude applied to javascript among front end developers. You could point to the fashion of complete reliance on NPM for every piece of code over two lines as an example of the same thought process.

</comment><comment><USER4> One possibility comes to mind. "Someone" does not, themselves, know how to write SQL by hand, having always relied upon an ORM to do so for them. From that vantage point, to them, attempting to write some SQL by hand is an error prone experience (because trying to do anything you do not yet know how to do is going to create some mistakes along the way).

<comment><AUTHOR> I see. So it's a face-saving way to talk about this. That seems plausible.

</comment></comment><comment><USER5> While we need more context as to where this handwritten SQL is going (into a codebase [with parameterization ] to get code reviewed / PRed / compiled , vs. being typed in by a user to some textbox etc. ) to more specifically comment, I have a tendency to avoid ORMs at all costs since (dogma ahead!) they are never worth it long term. In very specific circumstances, they can make translating domain types into database access feel simpler, but their indirect costs almost always outweigh their use in my (limited, granted) experience.

<comment><USER6> ORMs are omnipresent in web development, but I've seen this point of view that they're harmful being kicked around. I'm interested in knowing the tradeoffs, and also what it looks like to build applications without ORMs. What kind of stack are you using? Any information about the pros/cons?

<comment><AUTHOR> We're using Typescript with typeorm and a Postgres backend. The backend speaks graphql to a frontend written with Typescript and React.

Pro: Lots of people seem to be doing it this way, so there's plenty of info out there and it's probably easier to hire more people to work on it.

Cons: It's easy to make mistakes about authorization and even just wiring things up since typescript's type system doesn't catch some bugs that it seems like it should catch. It's tedious compared to postgrest, at least from what I've seen so far.

<comment><USER6> Thanks. How do you like GraphQL?

<comment><AUTHOR> I like its RPCishness, but it also seems to require a lot of repetitive coding.

</comment></comment></comment></comment></comment><comment><USER7> The main reason handwritten SQL is error-prone is because there's a tendency to have security vulnerabilities, which ORMs automatically protect against. ORMs tend to have better IDE integration so its easier to refactor or errors may be flagged by the IDE. That said, there's no real difference in logical error rates between hand-written sql and an orm except that any developer may be more familiar with the syntax of one versus another.

</comment><comment><USER8> You can use an ORM and hand written SQL. They are not mutually exclusive.

I think hand written sql is overall safer than an ORM. With SQL it's easy to select only the fields you need, and only update fields you need. ORM's want to fill up an object. The ORM will try to load some binary file field that has no relevance to the current task. You have to jump through hoops to not load a field of an object. But now your ORM updates are broken. That field you didn't load might cause it to be nulled out when you update back to the DB. It's a tragedy this pattern has caught on.

Data should not be ham-fisted into an object. You select 2 fields, not 10. The result is a set, not a model object. I think the clojure ecosystem is good at treating data in it's true form without forcing transformations to fit an object model.</comment>


Rust, Generics, and Collections - <AUTHOR> http://cglab.ca/~abeinges/blah/rust-generics-and-collections/

<comment><USER2> Ha, that trick with `Map<T, ()>` is actually really neat, and I'm happy to see that there's no qualms about its efficiency that would preclude its use in the standard library. This post has inadvertently become the most thorough documentation on zero-sized types that I know of, in addition to being the gold standard for guiding people interested in implementing data structures in Rust. :)

<comment><AUTHOR> And I completely forgot about how they can be used to give collections "chunks" of code to run without the need for function pointers!

And how you can use unboxed closures with no captures to make a zero-sized bundle of static-data.

Ah well. More stuff for part-2.

</comment></comment><comment><USER3> Interestingly, if we limit ourselves to pure functions, a ZST corresponds to category-theoretic concept of the terminal object. The latter is defined as such an object (think "type") T that for any other object (think "another type") X there is precisely one arrow (think "function") from X to T [1]. Indeed, if T is a ZST like the empty tuple () then for any type of argument there is precisely one function to T: namely, the one returning T's sole value, ().

Also, Result<T, E> is an example of a variant type corresponding neatly to co- products [2].

[1] [http://en.wikipedia.org/wiki/Initial_and_terminal_objects](http://en.wikipedia.org/wiki/Initial_and_terminal_objects)

[2] [http://en.wikipedia.org/wiki/Coproduct](http://en.wikipedia.org/wiki/Coproduct)

</comment><comment><USER4> It'd be nice if the examples had syntax highlighting.

<comment><AUTHOR> Done.

</comment></comment><comment><USER5> Hey @Gankro, your blah/ dir doesn't have an index of all files. Unless you know the links for these Rust posts, you can't really navigate to them. Especially if you keep posting, which you should, I'd keep in mind the navigation to and from these rust-lang posts.

<comment><AUTHOR> There is a blah/rss.xml, but yeah that's on my TODO. Maybe for the next post.

</comment></comment><comment><USER6> Why not use `fold` to implement `find_min`?

<comment><AUTHOR> Well I mean if you want to cheat with iterator adaptors you can just use min_by: [http://doc.rust- lang.org/std/iter/trait.IteratorExt.html#tym...](http://doc.rust- lang.org/std/iter/trait.IteratorExt.html#tymethod.min_by)

:P

(shhh I was tired and trying to come up with a simple but moderate complexity example)</comment></comment>


Fear of being committed may have caused Connecticut gunman to snap - <AUTHOR> http://www.foxnews.com/us/2012/12/18/fear-being-committed-may-have-caused-connecticut-madman-to-snap/

<comment><AUTHOR> _[Ms] Lanza had begun filing paperwork to get conservatorship over her troubled son, but that could not be confirmed because...such records are sealed._

\-- The relevant bit

(Notwithstanding attribution to motive.)</comment>


Freetrade, the UK challenger stockbroker, completes $15M Series A - <AUTHOR> https://techcrunch.com/2019/10/31/freetrade-series-a/ <comment><USER2> According to a US based equivalent Robinhood [1] they make a significant portion of their funds from "uninvested cash that isn't swept to our network of program banks. We do this primarily by depositing cash in interest-bearing bank accounts outside of Robinhood Financial."

Do companies like this fall into any of the same regulations that normal bank/financial institutions require? Is there a big fractional reserve held by these companies somewhere that needs to represent their client's uninvested money?

1 - [https://robinhood.com/support/articles/360001226106/how- robi...](https://robinhood.com/support/articles/360001226106/how-robinhood- makes-money/)</comment>


Ask HN: Can I pay someone to come up with a good start-up name? - <AUTHOR>

I know, call me lazy if you will. But coming up with good names is very time consuming. Is there an online service that I could use that can help me come up with "really" good names relevant to my start-up idea? I tried various name generators and they don't do the trick for me. <comment><USER2> 1\. <http://www.brighternaming.com/Naming_Portfolio.html>

2\. <http://www.namesharks.com/#services>

3\. <http://www.namedevelopment.com/product-service-naming.html>

4\. <http://www.stokefire.com/we_name_stuff/> << this one looks pretty good.

More: [http://www.google.com/#hl=en&q=product+naming+service...](http://www.google.com/#hl=en&q=product+naming+service&fp=2Inaafc1UxE)

</comment><comment><USER3> <http://www.pickydomains.com/>

<http://wordoid.com/>

</comment><comment><USER4> Domain Pigeon? <http://www.domainpigeon.com/>

</comment><comment><USER5> Amazon Mechanical Turk (www.mturk.com)

</comment><comment><USER6> <http://namethis.com/name_this></comment>


The Curse of an Open Floor Plan - <AUTHOR> https://www.theatlantic.com/family/archive/2018/05/the-curse-of-an-open-floor-plan/560561/?single_page=true <comment><USER2> This is a misleading title - I thought this would be about open floor plan offices, which is a current hot topic, but instead is about open floor plan housing, which is an entirely different topic and not necessarily relevant to HN.</comment>


A CRAP way to improve usability - <AUTHOR> http://www.userfocus.co.uk/articles/A_CRAP_way_to_improve_usability.html

<comment><USER2> The aesthetic usability argument helps muddle understanding around the true purpose of visual design as it implicitly accepts the premise that visual design is about "decorating the walls of your living room" but then tries to claim that this role is more important than you think.

In truth, while the aesthetic usability effect is real, it's one of the less important reasons why good visual design is important. Over the last few years, we've kind of won the debate over the importance and impact of user experience design but, because this debate is so muddled, even many visual designers are unclear about the proper role of visual design and work in ways that limit both their success and their company's success.

Visual design is, first and foremost, about effective communication. The best demonstration I've ever seen of this principle is this time lapse video: <http://vimeo.com/17158963> where you get to see just what is involved in creating a great work of visual design and how it's scope of responsibility is far more than "making things look pretty".

</comment><comment><USER3> I learned this concept years ago in "The Non Designer's Design Book". It really gave a logical breakdown of Contrast, Repetition, Alignment, and Proximity along with a number of other useful/important design techniques.

[http://www.amazon.com/Non-Designers-Design-Book- Typographic-...](http://www.amazon.com/Non-Designers-Design-Book-Typographic- Principles/dp/1566091594)

<comment><USER4> Yes! I still have my ancient copy. I will forever remember that mnemonic. Robin Williams (not _that_ Robin Williams) really did well with this one.

<comment><USER5> Great book indeed!

</comment></comment></comment><comment><USER6> Struggling to reconcile the following two points, one from the intro and one from the section on Alignment:

      - "Research shows that people believe that more attractive designs are easier to use than less attractive designs even when they're not."
      - "Without thinking about it too hard, which form looks easier to complete, the one on the left or the one on the right? ... Most people say the form on the right looks easier to complete."

Have I missed something here?

I can believe that having a form that looks complicated may put people off, but the article doesn't make that point. More importantly, I have no evidence to back up that belief - and given the statement from the intro, I'm surprised the author doesn't attempt to justify it either.

</comment><comment><USER7> That first example is pretty terrible though, the cancel button looks like it's inactive in one version and like the app is broken in the second...

</comment><comment><USER8> This is complete plagiarism from Robin William's "Non-Designer's Design Book." She identifies the four principles of design as Alignment, Contrast, Repetition, and Proximity. She even makes a reference to the fact that "CRAP" would be a poor acronym.

The author simply reorganized the principles, and that's dishonest. [http://www.amazon.com/Non-Designers-Design-Book-Robin- Willia...](http://www.amazon.com/Non-Designers-Design-Book-Robin- Williams/dp/0321534042)

<comment><USER9> The author cites Williams. Is it plagiarism to discuss someone else's work? The blogosphere would look pretty empty.

"There are at least four key principles of visual design that have an important impact on usability. These four principles — contrast, repetition, alignment and proximity — were originally given the engaging acronym CRAP by Robin Williams (the visual designer, not the comedian). You can exploit these four principles to make user interfaces both more attractive and easier to use.

Let's look at each one in turn."</comment></comment>