Ask HN: How to fight climate change with software? - <AUTHOR> hey all!<p>Do you have any ideas kicking around for fighting climate change w/ a software skillset: apps, saas, marketplaces, etc<p>:) <3 <comment><USER2> I keep hypothesizing that using a website or software to somehow promote pedestrianism would be helpful. You don't even need to promote it as _fighting climate change_ per se. You could promote it as _how to save money on gas while improving your personal fitness._

There are probably other creative approaches. But I would try to think about what's their motivation. What is in it for them. Moralizing tends to not have the best track record for promoting the changes we would like to see. It tends to just force "bad behavior" underground, which can lead to worse things.

<comment><AUTHOR> that's smart.

a mr. miyagi wax on / wax off approach. can you think of any co's that do this well?

here's a fun walking app btw ([https://jaywalk.me/](https://jaywalk.me/))

<comment><USER2> No, I can't.

I have spent quite a lot of years trying to figure out how to do a pedestrian- themed blog. I finally have one that I think might "have legs." ;) It has two whole posts. I have probably gone through 10 or 12 different blog names, most of which never got any content whatsoever.

I think trying to promote pedestrianism in the US is quite challenging. I have lived without a car for like a decade or so. The most common assumption people make is that I am clearly just pathetically poor. This happens to be true right now, but I also am a committed environmentalist type. My college major was in environmental studies.

I gave up my car when I still had a corporate job. Only one person who ever gave me a ride home from the corporate job ever asked me why I gave up the car. Everyone else just made polite noises about what a trooper I was for dutifully walking to work in spite of the pathetic state of my obviously poverty stricken life.

In the US, no car = pathetic poor person. So trying to sell people on the idea of choosing to go carless is a really tough thing. Thus, I would just start with trying to get them to drive less and maybe go from a two-car family to a one-car family. That's a much easier starting point.

There was an website I saw the other day on HN:

Transforming How We Collect and Visualize Information about Urban Accessibility (projectsidewalk.io)

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

I liked that.

</comment></comment></comment><comment><USER3> Bret Victor wrote an essay in 2015, "What can a technologist do about climate change?" \- [http://worrydream.com/ClimateChange/](http://worrydream.com/ClimateChange/)

</comment><comment><USER4> Spreading awareness would be good. Many people reject the notion that the climate is changing, so there would be value in collating the most persuasive and concrete arguments.

It's important to filter out conjecture and anecdata, though.

<comment><USER5> I don't think that there is very much value there. Everyone who is going to believe in global warming already does. Acknowledging extremists only strengthens their cause.

In response to OP, I have dedicated my career to fighting global warming through software. It is VERY difficult to find good software jobs that accomplish this, but they do exists if you are flexible on pay/location. Some angles that I have found successful:

\- Supporting REC markets with technology. The more successful they are the more politicians will support them which starts the cycle of affordable renewables driving more financing for innovative companies driving lower prices...

\- Join companies doing efficiency profiling. This has been a huge area of recent growth. Companies doing things like analyzing utility data to show companies where they can reduce usages to have the most impact

\- Work in renewables. PV's, inverters, batteries, wind turbines, etc all need to talk to each other! Brush up on your modbus, mqtt, sunspec, etc and start looking for companies.

\- Build our scientists better tools! Tons of companies are working to provide researchers with better ways of understanding the environment and the effects of global warming. This may not be the most direct way for you to help, but it is important to understanding climate change. There is tooonnns of room for innovation here, especially in allowing scientists to understand and harness AI and standardizing data/research to open up collaboration.

\- Work for the grid. Many giant utility companies are starting to realize that microgrids are real and imminent. How do utilities maintain control over a homeowner's power so that there aren't dangerous power fluctuations on the grid? Check out Kitu or Autogrid for some solutions. Larger utilities will also have R&D labs where they set up and test cutting edge renewable options and control strategies.

TL;DR: Tons of companies are working to drive down the cost of renewables. Save the world!

<comment><AUTHOR> love this.

what are the biggest frustrations you're currently seeing w/ REC markets?

i was surprised at how hard it is to compare REC prices. Like, am I supposed to request a quote from each of these? [https://www.green-e.org/certified- resources](https://www.green-e.org/certified-resources)

It'd be great to snap a pic of my utility bill and get back the best REC pricing... :)

<comment><USER5> A big problem in the REC markets is lack of price transparency. I worked for a startup a while back building a trading platform to try to get major players together at a regular interval to agree upon pricing that could then be executed upon and published publicly. The idea didn't pan out; despite having a lot of the biggest traders in the game on board, there just wasn't enough trading to make a company viable. I believe that this is due in part by two things. 1 - the large variance in regulations. You can't just trade a REC for a REC. If there was national consensus then it would open up much more liquidity. 2 - most RECs are pre bought/sold as a means of project finance. A company building a wind farm will pre sell years in advance to help fund the hardware. On the other side utilities will pre buy all the credits to cover their needs. There is relatively low day trading, making a technology solution difficult.

Currently most large scale traders pick up the phone and call brokers like the good old days of the stock market. So to answer your question, yes you need to request a quote from each. There are also bloomberg streams for pricing and some brokering companies publish indexes that they believe reflect the current pricing.

<comment><AUTHOR> ugh!

so if I got a quote w/ my utility bill from all those sellers, then got another quote from each next week, or got another quote for a diff utility bill, would the prices returned by each seller vary significantly?

<comment><USER5> Probably not widely. They likely have some sort of source of information that they use like for example: 'the current published price on bloomberg by Intercontinental Exchange'. Though this may not be the exact market price of the REC at that particular instant, it would be within a couple cents or so. Also with such a small market the amount you could get per REC changes significantly based on volume. Anyways, you as a customer with a utility bill probably have 0 say in what you sell your RECs for. You already would have signed away those rights when you signed the lease on your solar panels. (at least that's how it all works to the best of my knowledge)

</comment></comment></comment></comment></comment></comment><comment><USER6> Maybe via software efficiency. Use less CPU cycles, so the CPU can idle more cores, so it can burn fewer watts.

</comment><comment><USER7> habitrpg like carbon footprint reduction app. And/or a "pyramid scheme" where you could challenge friends to participate and get credit for onboarding people and their reductions.

</comment><comment><USER8> if you could optimize the traffic lights in cities, you could save a ton on gas. All the stopping and going due to hard coded timers wastes a ton and creates more pollution.

</comment><comment><USER9> Stop mining crypto coins, what a waste of energy...</comment>


Crinkles: A short Sci-Fi story - <AUTHOR> http://compellingsciencefiction.com/stories/crinkles.html <comment><AUTHOR> This is what our ad-networks are going to evolve into, though unfortunately, not so benign.</comment>


Google Requires Proof of Google+ Activity to Attend SFPD's Bike Theft Workshop - <AUTHOR> http://sfappeal.com/news/2012/12/google-adds-bizarre-requirement-for-sfpds-bike-theft-workshop-attendees.php <comment><USER2> Google+ is ruining Google's products like a virus. All mega-successful google products such as gmail, search and android didn't need much selling to the consumer. With g+, they are literally shoving it in their users' faces no matter if they dislike it. Why are the Google employees _actually_ building solid products putting up with this?

At least a half dozen times I have clicked on a public google+ post only to be coerced into attaching my google account with a google+ account. Screw being able to read said PUBLIC posts. My solution has been to logout and read it. But I'm sure plenty of people fill up that form mostly out of disdain and google gets to count them as a new user.

Really, getting new users by uber trickery is bad not just for the user but as much for Google Inc because it isn't a signal for a quality product(in this case, the exact opposite).

<comment><USER3> By literally you mean metaphorically?

<comment><USER4> lit·er·al·ly /ˈlitərəlē/ Adverb

\- In a literal manner or sense; exactly: "the driver took it literally when asked to go straight over the traffic circle".

\- _Used to acknowledge that something is not literally true but is used for emphasis or to express strong feeling._

emphasis mine.

<comment><USER5> So the new definition of literally is literally "not literally"?

<comment><USER6> Yes. Think about the word awful -it used to mean "inspiring awe" but it flipped and now always means bad.

I got curious so I looked up some examples that still can mean something or the exact opposite:

Bolt - run away or secure in place

Cleave - cut or join

Garnish - add (parsley) or remove (wages)

Weather - weather the storm or become weathered

<comment><USER7> King James II of England, when he saw the restored and expanded St. Paul's Cathedral, called it "amusing, awful and artificial." The architect, Sir Christopher Wren, was not offended. On the contrary, he was flattered.

The king did not mean that it was funny or entertaining. He was not calling it atrocious or appalling. He did not consider it fake or pretentious.

In 17th century England, amusing meant "riveting." Awful meant "full of awe" or "awe inspiring." And artificial meant "artistic."

</comment></comment></comment></comment></comment></comment><comment><USER8> This may be perilously close to (mis)using a public service for private gain. I kind of hope it ends up in court, so that we can find out.

Google should just stop it, and behavior like this. 1) The Google+ control- freak obsession mania; 2) Self-serving "public service" attempts.

Mind you, Google has done and does a lot of good and generous public service. (Even when and as it is good PR and perhaps also promotes their interests -- on an optional, "opt-in" basis.)

But tying a public service to a self-serving promotion? Doesn't pass the smell test.

</comment><comment><USER9> I hope the few fake reviews they got out of this was worth the bad PR. Whoever decided this was a good idea should be relieved of these kinds of decisions.

<comment><USER10> Shouldn't you hope it wasn't worth the bad PR?

<comment><USER9> Hmmmmm, you make a good point. My heart's not in it, so I guess 'doubt' would have been a better choice of words than 'hope'.

</comment></comment></comment><comment> wes-exp I've been increasingly dissatisfied with Google products lately, and stuff like this is a big part of that. Once a company gets pushy and in your face trying to get you to use their stuff, it can really backfire.

It seems like we're a long way from the original Google model of just providing a good, unobtrusive product (one that I choose to use, voluntarily) and otherwise getting out of the way.

</comment><comment><USER11> This is pretty crass on Google's part, and horrific PR.

</comment><comment><USER12> Looks like it has been fixed (the checkboxes in question have been removed from the signup form). There's still a field for G+ info, but it's not mandatory.

</comment><comment><USER13> Not very classy. I've usually come to expect better from Google, but it seems like they _really_ want to shove Google+ down everyone's throats despite people being very clear about not wanting to take part of it.

</comment><comment><USER14> Gmail used to be the easiest way to set up a spamcatcher email account for simple anonymity. Now their user authentication and real name policies have made that harder.

It's easy to throwaway an old single-purpose Gmail account. But it's very very hard to walk away from your social network account that has all of your friends and followers connected to it.

Targeted ads were small potatoes, I believe the top social networks are seeking to be society's future arbiters of identity.

But do they have a good plan to monetize this identity provider business? That, I don't know.

</comment><comment><USER15> Whatever next, burglars using social media to work out who can attend based upon reviews and profiles and posts so they can target houses of people who wont be in at a certain time. Worrying thought and not totaly impossible sadly at this time of year.

From Googles perspective this is perhaps logical in that it generates revenue potentual from those that do reviews and yet this has nothing to do with wanting to attend a Bike theft workshop.

If anything it is comparable to collect 5 can ring pulls for free ticket to an event, which is what happens marketing wise for many events/products out there all the time and nobody complains. So I can understand googles approach and how it does not fall into the evil pile. But it does seem a little bit lacking in synergy for that warm comfort feeling.

Sad part is there will be many people do half-haearted reviews at the detrement of buisness's in the area and from that worrying factor alone I would have to say that Google have perhaps not thought this thru on many levels.

Maybe it is some new marketing guru with a background in soft drinks that has yet to adapt to the digital World in there marketing approach on promotional synergy. That is what I'm wondering given this approach.

</comment><comment><USER16> How about bikes with internal gears built into the frame? These bikes would also have a small low power device with a radio receiver. When a key fob is close enough, the device would unlock the internal gears, otherwise the pedals spin free. Also, if the device doesn't receive a signal from the fob within 6 hours, the device starts waking up and listening for a cell signal. If it receives the right token, it self destructs, taking the gearbox with it.

<comment><USER17> Why not have your bike alert you to its location if starts moving away from your phone?

<comment><USER16> Running cellular radio and GPS is several orders of magnitude more power intensive than low power communications. For this reason, you want the high power cellular radio and GPS to only come on in exceptional situations, and then only for short bursts if possible.

That said, it's a good idea. But making the bike hard to sell is the main deterrent. It's hard to sell a non-functional bike. By removing most of the profit motive for stealing the bike, you decrease the amount of security necessary to protect it effectively.

<comment><USER17> So, how do you fix it if you accidentally make it non-functional yourself?

In other words, what will thieves have to do to make it work again?

<comment><USER16> _> So, how do you fix it if you accidentally make it non-functional yourself?_

You don't. I think it would be worth the risk of such an accident if the setup really deterred theft.

</comment></comment></comment></comment></comment><comment><USER18> Look at the screenshot... it's not a required field.

They're giving priority to those who have used Google Local. It may still be uncouth but the headline is baity.

> _But, Friedman made clear, "If you RSVP you will definitely get a spot."_

> _He told The Appeal that an RSVP is necessary for security and catering > reasons. "Everyone who goes needs a [security] badge to get in," he said. > The space where the event is being held has a capacity of 200 people, he > said._

> _It's worth nothing, however, that at the same event last year only 25 > people showed up, reports the Weekly._

etc.

<comment><AUTHOR> Wrong and wrong. Google added it without the SFPD's knowledge:

> _None of the San Francisco city officials who organized the event, it seems, > knew about the marketing language Google inserted on the RSVP page._

> _The officer spearheading the program, Matt Friedman also didn't know about > the additional marketing language._

And you are required to indicate whether or not you've reviewed 5 businesses on Google+ Local.

The intention was clear: To coerce people into using Google+. I'm not sure why you're trying to justify it by arguing semantics.

<comment><USER18> ... I quoted the article and made an observation about the screenshot. Nothing you wrote contradicts anything I wrote.

"Wrong and wrong" yourself. The headline is absolutely false.

I make no excuses for, as I said, the uncouth nature of this addition. It's a pretty stupid way to encourage G+ usage anyway. (25 people last year, pfft)

</comment></comment></comment><comment><USER19> Post five honest reviews of Google+ on the Place pages for local offices. Problem solved.

<comment><USER20> How does Google even guarantee that those reviews are honest? Bob's Bait Shoppe could easily pay five employees to post five glowing reviews about how Bob's Fish Annihilator brings all the fish to the yard. Unless you actually know the person, it doesn't seem there's any way to guarantee the honesty.

By the same token, if Bob's having a bad day, five people could easily write how the Fish Annihilator ruined their marriage and stole their dog, without ever having any evidence of either occurrence.

Anecdotally, I know of one business here in Austin where the owner ordered his employees to post good reviews on various social services using their private email accounts.

<comment><USER19> Reread parent post more carefully.</comment></comment></comment>


Alto Restoration Part 18: We Crash Our Disk Drive [video] - <AUTHOR> https://www.youtube.com/watch?v=G_gKIvDgBHs <comment><USER2> I wonder if it would've been better to use contact heads (connected to something like a Kryoflux) and spin the disk much slower, thus preventing more damage from occurring in the process. One of the first things taught in data recovery is that you should never put media which is known to be physically damaged into a drive and attempt to read it that way...

<comment><USER3> I think the big reason they didn't do that, is that the hardware like that just doesn't exist. It'd probably be possible to engineer something that could do it, but the question is what's the cost of doing that vs attempting to throw a head or two at it to recover the data? They looks like they're much more physically substantial/robust compared to modern heads so it might not be as big a deal. If you end up further damaging the media though it might be a bad thing. But the question is, if it's that delicate of media (flaking off, just scratched to hell, etc.) were you ever going to be able to recover it at all anyway?

</comment></comment><comment><USER4> the heads were more durable, to be sure, but the SCREECHING a disc would make when one crashed... it was loud. I used to have a spare 14" platter that showed the gouges. Car brakes don't get scored that bad.</comment>


Show HN: progscrape - developer news aggregated from multiple sites - <AUTHOR> http://www.progscrape.com/ I built this site a few years back as an aggregator for sources that I check reasonably often. I bit the bullet and built an Android app for it this year as well[1]<p>Both website [2] and Android app [3] are open-source.<p>[1] https://play.google.com/store/apps/details?id=com.progscrape<p>[2] https://github.com/mmastrac/progscrape<p>[3] https://github.com/mmastrac/progscrape-android <comment><AUTHOR> I built this site a few years back as an aggregator for sources that I check reasonably often. It does some naive tagging/filtering/scoring to help surface stories that I personally find interesting. I bit the bullet and built an Android app for it this year as well. [1]

Both website [2] and Android app [3] are open-source.

Would love to hear any feedback -- feel free to fork or submit PRs!

[1] [https://play.google.com/store/apps/details?id=com.progscrape](https://play.google.com/store/apps/details?id=com.progscrape)

[2] [https://github.com/mmastrac/progscrape](https://github.com/mmastrac/progscrape)

[3] [https://github.com/mmastrac/progscrape- android](https://github.com/mmastrac/progscrape-android)

</comment><comment><USER2> Pretty good how you've got the articles grouped if they're shared on more that one site.

I've been working on something very similar for a while: [http://www.serializer.io](http://www.serializer.io), I've kind of slowed down recently though.

It's a rails app, [https://github.com/charlieegan3/serializer](https://github.com/charlieegan3/serializer)

I'll have a look over the code tomorrow.

<comment><AUTHOR> That's cool -- I like the variety of sources you've collected. I considered adding custom RSS feeds to progscrape as well but haven't had a chance.

The multi-device checkpointing in serializer.io is really cool! I find that the volume of stories from Reddit+HN is too high to keep up with all of them so I use the 'read' status of links to keep track of what I've seen on the homepage.

<comment><USER2> Thanks, yeah marking as read is kind of essential.</comment></comment></comment>


Terminix Stores Passwords in Clear Text - <AUTHOR>

I saw the post today about Verizon possibly storing passwords in clear text, and it reminded me that Terminix is still doing so also. I've tried four times to contact Terminix and its parent company, Servicemaster, about the problem and have received no response. I don't think they understand how serious of a security hole it is. If any other HN readers use Terminix or another Servicemaster company, it might be worth trying to contact them so that maybe enough call/email volume will convince them they have an issue that needs to be addressed. <comment><USER2> It's safer, because it's something nobody would expect!</comment>


Propagation slow? Sound the alarms - <AUTHOR> https://blog.benjojo.co.uk/post/cloudflare-blue-beacon <comment><USER2> Funny, I came to HN while waiting for a domain to propagate</comment>


Test Yourselves: Modern Art or Toddler Art? - <AUTHOR> http://www.ba-bamail.com/content.aspx?emailid=5884 <comment><USER2> This is a clickbait site that perpetuates thoughtless slander against toddler art.

</comment><comment><USER3> Fun. But note, the toddler didn't select or crop their own art, here. There are such things as "found poems" and in truth, there is such a thing as "found art", too - of high quality.

On the other side of the equation, here's much better grounds for modern-art- skepticism:

[https://news.artnet.com/art-world/art-experts-tricked-by- pre...](https://news.artnet.com/art-world/art-experts-tricked-by-prestige- study-761507)

I don't think you can accuse an empirical study of being thoughtless gainsaying.

</comment><comment><USER4> A canvas with paint on it is worthless. It's the story that makes it art. That's the difference between toddler art and artist art. It's "my kid randomly threw paint around" vs. "I came to america as a stowaway, drank myself into a stupor, and pioneered a type of painting"

</comment><comment><USER5> I found I mistook some modern art for toddler art but 0 toddler art for modern art. Once you get a halfway decent eye for composition, you can clearly see where some skill and training is required to achieve a certain result.

</comment><comment><USER6> Just for the heck of it I went through the first 10. I got 0% correct. I'm not sure what that says about my taste in art, or modern art, or anything, but it made me laugh that I couldn't get any of them right.

</comment><comment><USER7> This is a clickbait site that perpetuates thoughtless slander against modern art.

</comment><comment><USER8> it's not that hard if you know a thing or two about color and composition. that being said, some of these are not very good art imo</comment>


Show HN: My New HN Browser Extension - <AUTHOR> https://chrome.google.com/webstore/detail/hacker-news-watcher/ojkdgdapoebjekbklfpfjlccifecjeoo <comment><USER2> Good work, I can see myself using it. Is it open source? I think I could learn a lot from it.

Maybe you could make the thread title more informative.

<comment><AUTHOR> Thanks,

it's not open soure (yet). But i will make it open source in the near future.

And if you want to see the code right now: [https://www.google.com/search?q=get+source+code+chrome+exten...](https://www.google.com/search?q=get+source+code+chrome+extension)

</comment></comment><comment><USER3> Howdy, Firefox version?

<comment><AUTHOR> Sure!

[https://addons.mozilla.org/nl/firefox/addon/hacker-news- watc...](https://addons.mozilla.org/nl/firefox/addon/hacker-news-watcher/)

<comment><USER3> Thanks :)

</comment></comment></comment><comment><USER4> Your HN Post title sucks, extension looks cool tho.

<comment><AUTHOR> yeah, i am not good in title making. But it's about the content :) So Thanks!

And if you(or anyone) have any questions or comments, let me know!</comment></comment>


Brazil is one of the biggest sources of malware on the planet - g-garron http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=es&tl=en&u=http%3A%2F%2Fwww.americaeconomia.com%2Frevista%2Fcaballo-de-troya

<comment><AUTHOR> Interesting that the language of choice is Delphi. Presumably because it is a teaching language and easy to pickup quickly.

<comment><USER2> Not surprised. It's clear the ones who engage in criminal activity are not the smartest hackers in any given community.

<comment><USER3> I don't get your point Delphi is used by less smart people?

</comment></comment></comment><comment><USER4> this isn't surprising at all -- latin america boxes are extremely cheap to buy -- the only ones that are cheaper are asian ones

BUT, the reason people still buy them (the computers) is because if you are trying to sell something (rather than just DDOS someone) it is easier to convert someone from say Brazil rather than China through say a dating offer to match.com from a popup

<comment><USER4> and just to show how prevalent this is:

<http://installsmarket.biz/index.php?lang=en>

there are hundreds of markets like this, it's cheap, it's easy, and I could name TONS of companies that do NOT CARE that their affiliates use them

<comment><USER5> That's a Russian one, funny enough, they don't do .RU (don't foul your own nest).

      # whois installsmarket.biz

      [Querying whois.neulevel.biz][whois.neulevel.biz]
      Domain Name:                                   INSTALLSMARKET.BIZ
      Domain ID:                                   D43691782-BIZ
      Sponsoring Registrar:                        PAKNIC LIMITED
      Sponsoring Registrar IANA ID:                1367
      Registrar URL (registration services):       whois.paknic.com
      Domain Status:                               ok
      Registrant ID:                               PAK11021626729-1
      Registrant Name:                             Kristina Panferova
      Registrant Organization:                     NA
      Registrant Address1:                         ul.Kosinskaya d.16-3 kv.87
      Registrant City:                             Moscow
      Registrant State/Province:                   Moscow
      Registrant Postal Code:                      111538
      Registrant Country:                          Russian Federation

</comment></comment></comment><comment><USER6> This isn't surprising. I've always seen br up there with ru in terms of hacker comminity activity.

I noticed the two articles are set to be translated from Spanish. I have another interesting piece of info about Brazil: the language is Portugeuse and that is what those articles are written in. Note it looks a lot more like French than Spanish does.

<comment><USER7> You are right about the language in Brazil, but the articles are written in Spanish. Dead giveaways: "los", "más" (with the accent), "uno" and the letter "ñ".

And I'm not sure it looks more like French than Spanish. As a native Portuguese speaker with no education on either Spanish or French, I can understand Spanish much better than French.

<comment> g-garron I agree with you. I'm a native Spanish speaker, and I can watch TV in Portuguese, but not in French. Have never studied none of them.</comment></comment></comment>


Tell HN: Selling a SaaS (experience) - <AUTHOR> ---
Company1: See, we have given you 1000 dollars, this is a very big amount for startup.
---
Company2 ($1B+): You guys increased the price from $250 to $1000. Now its out of our budget. But we liked your product very much.
---
Me: We increased our price from $200 to $250 per month.
Company3 CTO ($300M+): No, no. You earlier agreed on $200. Please don't increase the price.
---
Me: We have an annual plan which is $11k, in case you want to try for 1 month, its $1000.
Company4 CTO:  Do you have a shorter plan like 2 weeks?
---
Company5: We are ready to subscribe but we will cut a TDS on the payment.
Me: What?! Its a product not a service (although its a SaaS)
Company5: No, we do it for AWS too. They cry while dealing with us. <comment><USER2> The TDS reference makes it sound like you are India. Is this right?

My advice is never negotiate on price. Spend your time negotiating other factors, but hold your price if it is public. Cutting special deals for some customers will only bring heartache.

<comment><AUTHOR> India - yes!

Some customer offering advice/connection/guidance for a discount of 50%.

We have already declined 2 annual subscriptions because of price.

<comment><USER2> Trust me that any customer that wants a 50% discount will be such a pain you will wish you never accepted them. If you are going to give discounts them give them across the board and when you want to not when a customer asks.</comment></comment></comment>


Ask HN: Open Source, the future or not? - <AUTHOR>

For a long time I've been asking myself this question. More and more startups are promoting themselves with Open Source and free to use services. Lets take an example, a new service called www.supportduck.com. This is a startup that are promoting themself with Open Source approach where you can download the code for free on Github, or you can use their web service for free. The startup above are moving into a market with a lot of great businesses already, well known businesses such as www.olark.com, www.zopim.com etc.
So that is why I'm asking, do you guys on HN think there is a future for businesses with an Open Source strategy where it is free for everyone.
I think that in the next couple of years, we will see a lot of startups with an Open Source strategy, but if they will keep running without any income I'm not sure.
Kind regards
Kenneth <comment><USER2> Open Source monetization options 1\. Support (Red Hat) 2\. Customization/ professional services 3\. Documentation (JBoss in the olden days and most recently with jBPM) 4\. Optimization tools

FOSS also helps in sourcing an international labor pool to lower product development costs.

For consumers, mature FOSS provides alternatives to the traditional per CPU cost model. As product spaces and FOSS alternatives mature, the cost models of proprietary software makes little sense.

<comment><USER3> Something about FOSS...

</comment></comment><comment><USER4> Of course they need income to keep running; the question is what they'll monetize besides the software itself. It could be an open base platform with closed premium bits, or fully open with contracts for support, for just two examples.

</comment><comment><USER5> I had an argument with someone about this, and we ended up agreeing that not everything can be open sourced (figuratively speaking).

Although the complete outcome was more of a stalemate, the above was implied from our discussions.

</comment><comment><USER6> I believe theres a big future for open source companies if they do it right !

</comment><comment><USER7> This is so cool!</comment>


Show HN: Teoria.js - Music theory for JavaScript - <AUTHOR> http://saebekassebil.github.com/teoria/ <comment><USER2> Neat! I've been reading up and playing around with this stuff the past few weeks, from both the waveform synthesis side and the music theory side. I don't think I've quite wrapped my head around the basic concepts yet. (i.e.: Why have non-chromatic scales that skip semitones? Why do some sets of notes sound good and not others? What parts of sound quality derive from innate psychoacoustics, and what parts are my bias from growing up in the Western world?) I'll definitely be taking a closer look at saebekassebil's Javascript code, which seems to be an attempt to organize these concepts.

It's strange how once you get interested in a topic, you start seeing stuff about it everywhere. First the Clojure-based Overtone project, and now this...

<comment><USER3> As to why some sets of notes sound good or harmonious and others sound "bad" or dissonant, we find that frequencies with the simplest mathematical ratios tend to sound the most harmonious, while frequencies with more complex ratios sound more dissonant.

So for example the simplest ratio 2:1 corresponds to an octave interval. Notes which are an octave apart sound so similar that we describe them with same letter. So concert A is 440Hz and the "A" note one octave higher is 880Hz.

The next simplest ratio, 3:2 corresponds to the interval known as a perfect fifth. So given the example of concert A at 440Hz again, one perfect fifth above concert A is the note E which has a frequency of 660Hz as (440 * 3) / 2 = 660.

We find the simplest ratios of frequency intervals present in music from cultures the world over. The traditional classical Western twelve-note scale consists of the 12 simplest frequency ratios. In some Eastern music we hear a pentatonic or five note scale, which consists of the five simplest frequency ratios.

So this aspect of music we can attribute to innate psycho-acoustics or even physics rather than cultural bias.

<comment><USER4> > So this aspect of music we can attribute to innate psycho-acoustics or even > physics rather than cultural bias.

It's inextricable from cultural bias, though the physics obviously plays some role. The cultural bias comes into play more strongly around the question of how much dissonance is "good" vs. "bad", and how the more dissonant bits should interplay with the more consonant bits of music.

Certainly, "more consonant = better" isn't true in any culture I can think of.... Imagine an orchestra that tunes up, then they all play the note A in various octaves for 3 hours.

Possibly also worth mentioning that this isn't quite correct:

> The traditional classical Western twelve-note scale consists of the 12 > simplest frequency ratios

You're thinking of the major scale, maybe? The ratios for a tritone, major 7th, etc. are more complex (and not the first 12 simplest...) and if you try to actually come up with ratios for an _even-tempered_ scale you're really in trouble.

<comment><USER3> > It's inextricable from cultural bias, though the physics obviously plays > some role.

Of course, as you say, our cultural biases/values play a role in how we create music and what music we appreciate with how much consonance/dissonance.

But the fact that certain musical intervals sound more harmonious or more dissonant seems to be a result of the human ear's response to the physical nature of the frequency of the sound waves, and thus a response that is shared across cultures.

> The ratios for a tritone, major 7th, etc. are more complex

Yeah, I guess that's true that the ratios between those 12 frequencies aren't the 12 simplest, but they can be derived by following the simplest non-octave ratio - 3:2 or a perfect fifth - starting from a root note and moving up one perfect fifth 12 times.

Thus if you start from C: C - G - D - A - E - B - F# - C# - G# - D# - A#/Bb - F and that's all 12 notes. I guess I thought that because of that pattern those were the twelve simplest ratios. Thanks for the heads up.

And yes this principle applies to the Just tempered Scale not the even- tempered scale.

</comment></comment></comment></comment><comment><USER5> I made a quick fork to add audio to this using the Web Audio API (webkit only, tested on Chrome and Safari).

<http://acarabott.github.com/teoria/>

<comment><USER6> Had fun figuring out where mine and my wife's hearing fell off. Now I know where to put it when I want my kids to bugger off. :)

<comment><USER7> <http://onlinetonegenerator.com/> has a nice hearing test using the audio API of Firefox.

</comment></comment></comment><comment><USER8> This isn't really what I expected when I saw "music theory". It would be more aptly titled something like "frequency visualizer of chords".

<comment><USER2> I took a quick look at the Javascript code on saebekassebil's GitHub, and it does seem to be the start of some sort of music theory library. The waveform visualizer demo just doesn't seem to be very revealing of what the library is about.

<comment><USER4> The actual library does look like it does quite a bit more than waveforms -- it's mostly focused on relationships of notes (in scales, intervals, etc.), and perhaps only secondarily on frequencies. Interesting!

I have done similar work in Java -- built a library exploring note relationships, and also handling basic notation display -- but one of these days I'm going to need to migrate everything from Java applets (I know, I know) to HTML5, so I'm collecting these kinds of resources that may prove useful....

The name selection isn't great, BTW... there's been a well-known music theory website at teoria.com for more than a decade. It's a generic term (just "theory" in Spanish), so this likely isn't a legal issue, but that's going to make it quite hard to find this in Google.

</comment></comment></comment><comment><USER9> Okay, this link doesn't look like it does this justice. I found the Github page to be much better:

<https://github.com/saebekassebil/teoria>

</comment><comment><USER10> On a similar note to this, I had great fun writing the keyboard and stave search input for for <http://www.folktunefinder.com> in JavaScript (you'll find keyboard-xxx.js file in there if you look).

(For bonus points the search engine is written in Go).

</comment><comment><USER11> I've never considered the waveform of a chord before, is the reason that some intervals sound harmonious because the period of their combined waves is short?

<comment><USER12> Yes, exactly.

</comment></comment><comment><USER13> As a once undergrad music student now working in acoustics, thanks for creating this. Something like this has been on my list of things to program, especially with libraries out there like D3.js. Good luck!</comment>


US Workers Just Lost the Right to Organize on Company Email - <AUTHOR> https://www.vice.com/en_us/article/k7eqgx/workers-just-lost-the-right-to-organize-on-company-email <comment><USER2> From the article:

 _The ruling, issued Tuesday, states employees "do not have a statutory right to use employers' email and other information-technology resources to engage in non-work-related communications."_

Seems reasonable to me.</comment>


Tworoutines in Python - <AUTHOR> http://threespeedlogic.com/python-tworoutines.html <comment><USER3> That's an clever way to go about solving the sync/async situation.

I work in an ecosystem that has both Python 2 and Python 3.6 async applications, so my code has to play nice with both. I often end up writing APIs as such:

        from __future__ import [Python 3 niceties]

        class BaseApi(object):
            def _method_that_does_io(self, *args, **kwargs):
                raise NotImplementedError

            def do_a_thing(self, stuff):
                return self._method_that_does_io(stuff)

and then create a SyncAPI and AsyncAPI respectively in different files, each subclassing BaseApi implementing the respective io-bound helper-methods.

So Python 2 people can do:

        from SomeAPI.sync import SomeAPI

and Python 3 people can run:

        from SomeAPI.py3async import SomeAPI

The synchronous code is written in such a manner it's both 2 and 3 compatible, so every flavor can be happy.

<comment><USER4> But how can that work when the async methods have a different signature and calling convention to their sync counterparts? Your "public" method in the async version would have to handle all the async set up and submission of your chain of coroutines to the loop. That's possible, but it would have to live in isolation (i.e., no other async code could run simultaneously, which kind of defeats the purpose) and it means for a lot of nasty plumbing, which doesn't seem like it should be the class' job (in a separation of responsibilities sense).

<comment><USER3> Oh you can do it with identical signatures.

Let's say we are making http requests, with the sync code using requests and the async code using aiohttp.

Your public methods all call a private _request method with a verb, a url, and optionally something to be seriaized to json.

Your async _request method does need to do a small bit of code around sessions: make one first if one hasn't been made for the class instance yet (or override your __init__ and take an existing one as an arg) but at the end of the day it's just returning a coroutine that'll ultimately give you a deserialized response. Sync can just be more direct and return a dict. Both have the same signature.

<comment><USER4> Right, so you can just return a coroutine, so the return type of your method is something like `Union[dict, Coroutine]`. However, then downstream (ultimately) has to handle the dichotomy, where the `dict` is as is, but the coroutine needs to be `await`ed.

You can do it, but I personally think it's messy. It's what I really dislike about Python's async model, which you almost necessarily encounter because the stdlib is mostly not async.

</comment></comment></comment></comment><comment><USER5> I implemented something like this not long ago:

        class Api(AsyncApi):
            def __init__(self, token):
                try:
                    self._loop = asyncio.get_event_loop()
                except RuntimeError:
                    # when running in a thread, get_event_loop doesn't create another one
                    self._loop = asyncio.new_event_loop()
                    asyncio.set_event_loop(self._loop)

                self._session = aiohttp.ClientSession(loop=self._loop)
                super().__init__(token, self._loop, self._session)

            @lru_cache(maxsize=None)
            def __getattribute__(self, name):
                attr = super().__getattribute__(name)
                if name.startswith("_") or not asyncio.iscoroutinefunction(attr):
                    return attr

                def call_sync(*args, **kwargs):
                    coro = attr(*args, **kwargs)
                    return self._loop.run_until_complete(coro)

                return call_sync

It can run when there is no loop or even when a loop is already running.

</comment><comment><USER6> Nim's `multisync` macro is another cool approach to this. It allows the function to be called isomorphically regardless of synchronicity, determining the latter using the type system. In the following example, the `writeResponse` proc can be called from either a synchronous environment on a `Stream` or from an asynchronous environment using `AsyncStream`.

[https://github.com/sid- code/nmoo/blob/master/src/nmoo/sidech...](https://github.com/sid- code/nmoo/blob/master/src/nmoo/sidechannel.nim#L17)

There is a bit of glue code holding this together, but I find it really neat. There's no event loop hack, just static polymorphism.

<comment><USER7> Nice to see that others are finding this useful. :)

</comment></comment><comment><USER8> This is why I love gevent. Synchronous code becomes asynchronous automatically and it's rarely necessary to reason about the asynchronicity.

<comment><USER9> I'll add something I've observed to that:

In asyncio and similar systems, the choice between "is this code syncronous or asyncronous" is made at declaration time - either you define a sync function or an async one, and you can only use it in that way.

In gevent and similar systems, the same choice is made at call time - there's no distinction between sync and async functions, instead you can call syncronously with "foo()" or asyncronously with "future = gevent.spawn(foo)" (I'm taking some liberties by calling the returned greenlet object a future but it can be used as such).

<comment><USER10> Exactly. gevent has been a joy to work with since day one. asyncio (even with the new syntax additions) has been a complete pain for me since day one. I still use gevent for everything - even in brand new Python 3.7 projects - <USER2> I see no reason to stop. Great API, great performance, "just works".

<comment><USER9> As much as I love gevent I can't claim in good conscience that it always "just works" for me. It tends to just work until it doesn't, and then you're stuck investigating how a dependency of a dependency just switched to using a network library implemented in C that therefore isn't monkey-patchable and causes process-wide stalls.

I've gotten good at diagnosing these issues over many years as a heavy gevent user, and it doesn't stop me highly reccomending gevent to anyone who will listen, but it's a caveat that should be mentioned for anyone new starting out.

<comment><USER8> What libraries have you run into trouble with?

<comment><USER9> grpc is one that we're struggling with at the moment, psycopg2 is another that won't Just Work (you need to use a special "adapter" that teaches the underlying C library to hook into the event loop). In general anything that is a) not implemented in pure python, and b) doing calls that you expect to be monkey patched (mainly network calls).

This is thankfully fairly rare, but it is something you need to be aware of.

<comment><USER8> There are pure python alternative implementations of these protocols and of mysql, anything pure python works well, but of course there are modest CPU costs. Then there are workarounds if you must use C libraries with blocking IO, like using a pool of sub-processes. But using C libraries for IO is pretty low level stuff, and making them concurrent is beyond the scope of python.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I'm not familiar with async in Python, but creating a blocking wrapper around an async call is something I've had to do quite often in various circumstances.

Theoretically, you shouldn't need to do that, but in practice there's always some big legacy component that you can't rewrite to make it asynchronous. In my experience it's such a common pattern that the language should support it. But in many languages it ends up being quite complex or inelegant.

Makes me feel like there's a bit of a schism between language designers and users: designers want an architecture that encourages clean code, users want duct tape.

</comment><comment><USER12> Of all the methods for dealing with async calls I've come across, I strongly prefer the Smalltalk process flavor.

The general idea is that main runs in a fiber (or process in Smalltalk lingo) out of the box. There's a way of starting new fibers, yielding to the next; and blocking calls yield automagically. And that's it.

But talk is cheap, and Smalltalk is not coming back anytime soon; which is why I'm building a new language [0] around the same ideas.

[https://gitlab.com/sifoo/snigl](https://gitlab.com/sifoo/snigl)

<comment><USER13> Isn't that pretty much how Erlang does things?

<comment><USER12> Erlang throws plenty of other ideas into the mix though, I prefer my concerns separated. It assumes multiple threads for example, in plenty of applications that's needless complexity. You end up sending messages between processes when all you wanted to do was encapsulate some state.

<comment><USER14> Elixir solves this with Agent.

</comment></comment></comment></comment><comment><USER15> Prior to the introduction of async/await (or promises) there were a number of places we used a similar technique inside Firefox to avoid callback spaghetti.

For us it caused no end of problems, and were glad to see it go (well, there are still probably some places using it...).

It's not surprising to me that it's discouraged.

<comment><USER16> Could you point out what the problems were, and what technique did you replace it with?

<comment><USER15> A long tail of subtle event and reentrancy bugs, where an event loop wasn't getting an event it needed (leading to dropped or mishandled OS events), or a function that doesn't expect to need to be reentrant was suddenly reentrant.

Most of these could be worked around, but some of them are unreasonably difficult given OS event apis.

We replaced it with just making the calls that might need to be asynchronous use `async`/`await`.

</comment></comment></comment><comment><USER17> IPython has a pretty neat feature where you can await at the top level:

[https://ipython.readthedocs.io/en/stable/whatsnew/version7.h...](https://ipython.readthedocs.io/en/stable/whatsnew/version7.html#autowait- asynchronous-repl)

</comment><comment><USER18> I'm not sure, but it seems an overly complex approach. If all you want is to execute an async function from a sync context, run and wait for it:

        >>> import asyncio
        >>> async def foo():
        ...     return 'foo'
        ...
        >>> bar = asyncio.run(asyncio.wait_for(foo(), timeout=15))
        >>> print(bar)
        foo
        >>>

</comment><comment><USER19> In any event, Functional Reactive Programming is thought-provoking. Here's a link to "Elm: Concurrent FRP for Functional GUIs", Evan Czaplicki's thesis (although I think Elm-lang recently simplified their system.)

[https://www.seas.harvard.edu/sites/default/files/files/archi...](https://www.seas.harvard.edu/sites/default/files/files/archived/Czaplicki.pdf)

</comment><comment><USER20> Isn't it trivial to accidentally make this deadlock?

<comment><USER21> Not really, it starts a sub-event loop that still handles all the events sequentially. What can be a problem is infinite recursion, if inside an event handler a new nested event loop is started.

<comment><USER22> Sounds like Visual Basic's DoEvents() all over again?

</comment></comment></comment><comment><USER23> I thought this post my have been my Twolang gaining in public attention [https://github.com/bootrino/twolang](https://github.com/bootrino/twolang) but it seems not.

</comment><comment><USER24> I love the interface, but I don't like the idea of monkey-patching the standard library. Can't one instead spawn a separate thread and run the event loop there?

</comment><comment><USER25> Nim's multisync macro is another nice approach: on compile time it transforms the same function to a sync and async variant

</comment><comment><USER26> I hope Python & Node will evolve from async/await, because we can do better.

Take a look at Lua coroutines

</comment><comment><USER27> or just learn Haskell and realise that this whole concept is just monadic bind, written simply as >>=

</comment><comment><USER28> what kind of website is this?</comment>


Complex societies precede moralizing gods throughout world history - <AUTHOR> https://www.nature.com/articles/s41586-019-1043-4 <comment><AUTHOR> Link to PDF: [http://sci- hub.se/https://doi.org/10.1038/s41586-019-1043-4](http://sci- hub.se/https://doi.org/10.1038/s41586-019-1043-4)</comment>


A new evil: the Web 2.1 server-side blink tag - <AUTHOR> http://cheese.blartwendo.com/web21-demo.html <comment><USER2> And there could be a popular yet-to-be-written Firefox or GreaseMonkey extension to neuter it in case web advertisers start adopting it.</comment>


Naive Question - <AUTHOR> https://mailman.stanford.edu/pipermail/liberationtech/2013-September/011406.html

<comment><USER2> The title is very bad as it doesn't say anything. It should be something like this:

"Hack to legally publish that you received a National Security Letter"</comment>


Ask HN: Music startup vs. Audio startup? - <AUTHOR>

I've seen Dalton Caldwell's talk on why starting a music startup is a bad idea, but I'm wondering, is starting an audio startup bad as well? I think not, but I want to know your thoughts.
YouTube, for instance, let's people upload videos and they remove things that are copyright violations.
Why not have the same for audio but remove the stuff that gets reported for DMCA violations? How much of a challenge is there that I'm not seeing? <comment><USER2> (b0ttler0cket):

This may be an interesting idea. I do not know too much about the music industry, except from what I've read and the people I've talked to. Here's a quote I remember reading from PG (taken directly).

"...record labels...are effectively a rogue state with nuclear weapons. There is nothing we or anyone else can do to protect you from them, except warn you not to start startups that touch label music."

I am not sure if that is ample enough advice, but it is a strong warning. I don't exactly know what "touching" label music means, but I'm assuming it would apply to your situation since I have a feeling that the vast majority of the "audio" would be music. Self-produced music is fine (as long as it doesn't have 7 or more consecutive notes that belongs to another song, I believe), but I think you may have problems when people start to post label music on your site. From what I understand (I've studied law for 4 years), labels can begin to file copyright claims against you. It's common practice and unless you have the legal firepower to combat it, you and your company may be quickly smothered by legal issues and fees (and even damages).

In all, I think the risks here far outweigh the rewards. Even from the perspective of managing schlep for gains, I think this battle is so uphill it's like trying to scale a vertical wall. I have a strong feeling that you'll have much more fun with another project. :)

</comment><comment><USER3> Isn't "YouTube for audio" SoundCloud?

<comment><AUTHOR> It seems like SoundCloud is more like the Vimeo for audio. They provide free and paid versions just like Vimeo. I don't think I've seen the YouTube for audio yet.

</comment></comment><comment><USER4> I cannot remember the name but there is a company that fingerprints record companies copyrighted music, and then monitors radio stations etc for which songs played where, then works out which ones violated agreements.

Sounded like a cool piece of tech, but a not cool use case. Kind of like designing a golden violin that plays like a Stradi - for Belzebub.</comment>


Google to fight Spanish demands to remove 'libelous' links  - <AUTHOR> http://www.guardian.co.uk/technology/2011/jan/16/google-court-spain-privacy?CMP=twt_gu

<comment><USER2> Further evidence of idiocy in Europe in regards to how the internet works, and prioritizing a ludicrous interpretation of 'privacy' before freedom of speech.</comment>


The Owosso Pulse: Michigan's 'Back to the Future' Autocycle - <AUTHOR> https://www.freep.com/story/news/2020/09/08/owosso-pulse-michigans-back-future-autocycle/5621928002/ <comment><AUTHOR> Owosso is a half hour away from where I live. I knew of the AutoCycle when it was launched but had no idea that it lasted five years.</comment>


Android Design Philosophy (or the lack thereof) - <AUTHOR> http://dcurt.is/2011/10/19/android-design-philosophy/

<comment><USER2> Might just be a matter of personal taste, but I like it. I think the web model of design works fine. Survival of the fittest has done pretty well in history. Cream will rise to the top (MySpace vs. Facebook), standards will populate, and the experimentation allowed without a HIG leads to a more interesting, and over time, better experience. Even right now, I don't use a single ugly Android app. Sure, the average app may look like a car wreck, but 90% of everything is crud.

I'd rather have the ones with talent experiment so the best get better than enforce guidelines so everything is mediocre.

<comment><USER3> That still doesn't explain why Android apps are overall not as good as compared to other platforms. The same common apps made by the same companies look very different on iOS, Android and WP7. And frequently, they look the worst on Android. This partly could be because they may not invest as much on Android versions as on iOS or just make quick ports but the platform design tools and the expectations of potential customers also come into play.

Since iOS and WP7 provide a built-in look and feel and UI philosopy, developers on a budget can still produce decent looking and behaving apps whereas in Android, it results in a functional but bare looking UI.

Case in point, a summer intern at work was tasked with making a basic notes mobile app. He picked Android because that's the phone his dad had and because the company wasn't really interested in the app except as a learning experience for the intern so they weren't interested in buying Mac hardware and developer license(a point in Android's favor). The final app lacked sorely in both design and functionality (more because he wasn't really experienced in coding). I asked him during the demo if he could use some of the Android API transitions and animations between the screens to jazz it up quicky (those make a big difference when presenting to non-technical folks). The reply was that there were none(I am just reporting what he said, I haven't taken a look at the APIs).

I do know that iOS and WP7 provide built-in animations and transitions. The point is that you have to go out of your way to make mediocre looking apps in iOS/WP7 and good looking apps in Android. Add to that the fact that Android didn't even have GPU acceleration for the UI till Honeycomb(a tablet only release). <http://code.google.com/p/android/issues/detail?id=6914>

Some companies prefer to roll their own custom look and feel (like the web.) But there's nothing in iOS and WP7 which prevents you from doing exactly that if you so wish, you're not beholden to the UI philosophy of the OS and can possibly make any design that you can in Android.

<comment><USER4> There are Android animations [1][2], not sure how they compare to WP7 or iOS though.

[1]: [http://developer.android.com/guide/topics/graphics/view- anim...](http://developer.android.com/guide/topics/graphics/view- animation.html) [2]: [http://android- developers.blogspot.com/2011/02/animation-in-...](http://android- developers.blogspot.com/2011/02/animation-in-honeycomb.html)

</comment></comment></comment><comment><USER5> _"Instead, I offer the web. Here there's beautiful examples of very customized, very different feeling websites."_

I think Duarte has the right idea, but I think it overlooks something very important: It's really hard to make a great looking website. It takes a lot of design skill, graphic art work, and lots of experience with HTML, CSS and JavaScript.

Where Android is failing is providing a way for new developers with little design experience to make great looking apps that fit in with the rest of the OS. They should be providing awesome built-in UI objects and containers that provide great look and feel.

If a developer wants to go their own way and make their app look totally different, they don't _have_ to use the built-in UI elements.

They should provide a solid foundation for anyone to make great looking apps, but not _require_ that it be used, or even make the framework extensible and flexible.

I've been looking at the WebOS SDK recently and it only takes a few lines of JavaScript to build nice looking apps because all the components are provided. You can still make your own custom components if you want to. Layout is done with various built-in layout components with nice options. The tutorial example has a nice looking interface by the second lesson without any design or graphics work at all.

So, Android should provide a UI platform but still allow developers the flexibility to do what they want. They get the best of both worlds.

<comment><USER6> Reading the actual interview, it seems that they're working on this:

> Matias also told me that a new style guide was being prepped for developers > with lots of off-the-rack pieces that would make it easier for third-parties > to create the same kind of streamlined, beautiful applications I saw in Ice > Cream Sandwich.

That short paragraph can mean a lot, here's to hoping that Google bundles this information in a way that is both:

\- enjoyable for a developer without much design skills

\- easy to point a new designer to so he can build up a rough framework of how to design for Android

Please Google, just don't scatter this info across developer.android.com in that crappy badly thought out tree structure :/

<comment><USER5> Yeah, I saw that too. One sentence about a new UI framework hardly inspired confidence. Let's hope they do make it easy like you said.

</comment></comment></comment><comment><USER7> You know, as a recent convert, I still haven't seen the clearly better app quality that everyone's been talking about. Maybe it's just the apps I use, but I generally find the quality to be about the same, overall.

Android's system preferences and overall look seems _more_ polished to me.

<comment><USER8> The market app quality thing is mostly bunk. For a while, there was a period where the iPhone gold rush drove all the developers there. All the polished apps arrived first for iOS, and the Android market was filled with what amounted to bad clones of the known iPhone hits.

But that was (comparatively) long ago. All the "hit" apps are cross platform now. They generally look the same. Some are better on iOS (Facebook is a good example, though their recent Android releases have gotten a lot better) some on Android (Google Maps on the iPhone was a bad joke, last I checked, and there's no good competitor to use instead). The tier below that is mixed on both platforms, and there's plenty of junk to go around everywhere.

But that first year and a half still colors people's perceptions. So the canard gets trotted out every time someone wants to play the flame game.

And I tend to agree, actually, that Google has the cleaner and better core UI at this point. Apple wins on the "performance polish" issues: the devices are faster and better tuned, UI interaction is (often vastly) snappier. But I find the actual user experience to be better on Gingerbread than iOS 4 (haven't tried ICS or iOS 5 yet), frankly.

<comment><USER9> I have used both iOS and Android extensively. I like most of the "core" (email, browser, maps, navigation) apps better on Android - but I still find their third party apps mostly 'behind' their iOS counterparts. While everyone will use different apps - here is a list of apps I use almost daily on the iPhone which have no (or poor) counterparts on Android:

Instapaper (Read It Later is pretty good - though their iOS app is much better, too) Instagram AirVideo AlienBlue Reeder DipTic

These are the apps which I classify as "almost" as good as their iOS counterparts: Twitter Any of the 'Photo Editing'-of-the-day apps FourSquare

<comment><USER10> Isn't Lightbox a good alternative to Instagram on Android?

<comment><USER9> I don't need duplicated functionality - I need an actual Instagram app. It's not so much the photosharing/editing, it's sharing pictures on their network with my Instagram friends.

<comment><USER10> They're working on an Android app. Hopefully it'll be out soon.

</comment></comment></comment></comment></comment></comment><comment><USER11> I kinda agree with Duarte on this one. An OS should just be a window into the content, not its master. And the content should be as diverse in style as there are cultures/tastes/fetishes on the planet.

I love those annual Best of the Web design recognitions. They are all so differently beautiful in appearance and function. It would be boring if they all followed the same theme or trend.

</comment><comment><USER12> Most people aren't designers, the point of hiring designers and doing things like the HIG are so that regular programmers can create pretty good looking apps out of the box.

Yes, the guys at Flipboard will probably be able to out do the HIG but it's a great starting point. Not having a HIG means that regular programmers will have to reinvent the HIG themselves.

I've had app rejections for HIG violations and to be honest I'm sure I could have kept my bad design if I replaced some stock Apple buttons with my own, but when I thought about it it made a lot more sense to just go with the HIG. (I was using a detail disclosure button for a login button)

</comment><comment><USER3> The two paragraphs above the quoted ones are interesting too, for context:

>"There's this thing that's happening right now in user interface design that I find kind of shackling. The faux wood paneling trend, and the airport lavatory signage trend." He laughs when he says this and pulls up a slide on his computer, a split screen of an Atari 2600 and… airport lavatory signage. It's an obvious dig at both Apple and Microsoft.

>But what about Microsoft and their "authentically digital" design? "The problem with going too starkly systematic, forcing everything into this completely constrained, modernist palette, for both of them, you're not leaving any room for the content to express itself."</comment>


Show HN: Ilograph – interactive architecture diagrams as code - <AUTHOR> https://app.ilograph.com/demo.ilograph.Ilograph/Request <comment><USER3> From the terms of service at: [https://www.ilograph.com/terms_and_conditions.html](https://www.ilograph.com/terms_and_conditions.html)

>Communications

>By creating an Account on our service, you agree to subscribe to newsletters, marketing or promotional materials and other information we may send. However, you may opt out of receiving any, or all, of these communications from us by following the unsubscribe link or instructions provided in any email we send.

<comment><USER4> Thanks for the heads up, shame I missed that!

It definitely doesn't sound very GDPR compliant. It's dated before GDPR so clearly needs an update.

<comment><AUTHOR> Yeah, good point. Thanks for the reminder.

</comment></comment></comment><comment><USER5> Really nice idea, and when I worked as an architect I often wished for something like this. :)

Some feedback:

\- Only show the top level information for each block by default. So the front page of the example would have the "Lambda" block, but it would be empty until you click on it to drill into it. Otherwise it gets cluttered fast. I've seen some architecture diagrams that attempt to fit every single sub-sub-component into one "master" diagram, and it creates huge information overload.

\- (This is more about the example than the UX, I think...) When drilling into it, as opposed to having source code functions or resources, it would be nice to see actual architectural components (like functional units of systems).

I love how it shows dependencies. Great work!

<comment><AUTHOR> Hey, thanks for this feedback. Does lowering the detail (using the control in the top-right) achieve a result like the one you describe, or would you like to see something even simpler (by default)?

<comment><USER5> Aha I completely missed that control. That's much better. I think for me it _might_ be nice to have that as the default, because of the whole information overload thing.

Great work!

</comment></comment></comment><comment><USER6> Awesome project! Perhaps a future version could include Google Cloud style diagrams and icons: [https://cloud.google.com/icons/](https://cloud.google.com/icons/)

<comment><AUTHOR> Thanks! Icon support is something I've been thinking about forever... Now could actually be a good time since the app functionality is settling. Thanks for the feedback.

</comment></comment><comment><USER7> Really awesome project! The walkthrough was extremely well put together. This should be used for software architecture presentations and webinars - <USER2> helps showcase how everything fits together while minimising the overload of information. Well done! For projects, like any documentation, the only problem with anything like this is how much effort does it take for the diagram to stay up-to-date and relevant in a project with ongoing development.

</comment><comment><USER8> Discussions with comments in the last year:

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

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

</comment><comment><USER9> I love it, excellent work!

One thing I noticed is when signing up with github, it requires read/write access to all repos. Does it write anything, or is that just the only access control github provides through the API?

<comment><AUTHOR> Hi. Yep, it will write your Ilograph file when you save, certainly. It doesn't create other random files or anything like that, though.

</comment></comment><comment><USER10> Very cool!

A bit disorienting due to information paralysis, but maybe if I'm the person creating it, or have already used to it, it will be ok.

Suggestion: Don't overuse elevation (material design card). Actually, maybe you can remove the shadows and use standard diagram elements that Visio uses, and/or XKCD style.

<comment><USER6> I think if they add some color coding to the resource groups in the diagram like google cloud style infrastructure diagrams it would make the diagrams much more readable and approachable.

<comment><AUTHOR> Yeah, you both are right. This is on me... the tool allows you to customize the style (flat, dashed borders, background colors, etc.) but I never got around to using these in this diagram. I'll try to update today :)

</comment></comment></comment><comment><USER11> I had a good play with this a few months back. Really really impressive tool!

</comment><comment><USER12> Hi veuxdo, this is a really cool project! Do you have an open source project for the code? Curious what you built this with and whether I can contribute to the code..

</comment><comment><USER13> [https://ilograph.com](https://ilograph.com) appears to go nowhere

</comment><comment><USER14> This is exactly what I'm looking for ... but as an open source tool. I'm currently doing something quite hacky with Hugo, Graphviz and some Python.

I don't begrudge a hosted or commercial product, but does anyone know of related open source projects?</comment>


Are Attractive People More Employable? - <AUTHOR> http://economix.blogs.nytimes.com/2010/11/22/are-attractive-people-more-employable/ <comment><USER2> The big question is how they quantified attractiveness in their study, it seems to be one of those "I know it when I see it" things.

Attaching a photo to a resume is a huge no-no in the US, but I've seen many people check applicants' photos online (OK, I admit, I've done it, too).

 _Other things being (almost) equal_ , I see no problem in hiring a more attractive man/woman applicant over a less attractive one. I think attractive people in general have more self esteem and make friends more easily, both good traits in the workplace. Why discriminating based on intelligence is OK while doing it based on beauty such a taboo?

<comment><USER3> I imagine it's likely because intelligence will actually influence your capacity to do your job in the vast majority of cases, whilst appearance will not. I understand in instances where this is not the case, such as hooters waitresses, they do actually openly discriminate based on attractiveness.

<comment><USER2> I wasn't talking about Hooter's waitresses and other such jobs, e.g. playmates :-)

Why do you think that in the vast majority of cases appearance will not influence your output? I think this is a clear fallacy: Although you attractiveness may not influence the work you do, the _additional_ qualities you develop over the years because your attractive, like high self-esteem, may be _very_ important and relevant to the workspace.

<comment><USER3> Hold on, you say that it's a clear fallacy that your attractiveness does not influence your output, and then you directly claim afterward that your attractiveness may not influence the work you do? That was my original point, so it seems much like you're saying I'm wrong and then restating my original point.

The problem I have with regards to your secondary argument, that attractiveness contributes to self esteem and is thus important and relevant to the workplace as a contributing factor towards building soft skills is that it equally promotes simple narcissism.

Full disclosure; I think that we may just be getting over a long standing hangover where "touchy feely" attributes of a person were valued over their actual aptitude and intellect and I'm quite happy not to see us sliding back into that particular arena and being surrounded by pleasant but incompetent people

</comment></comment></comment></comment><comment><USER4> The most interesting thing I ever learnt in Psychology was how attractiveness is judged/recognized and how it affects peoples' reactions. For instance, one study showed that people can _smell_ a more attractive person from their clothes alone. Like 'smell these shirts, and tell us which one you suspect has the most attractive owner.' And other things like how attractive people are less likely to be found guilty by juries, or tend to be given lighter sentences.

</comment><comment><USER5> This is why diversity is good. Even in HR (needs more men).</comment>


Show HN: PyBites – sharing our passion for Python, one bite a day - <AUTHOR> http://pybit.es <comment><USER2> Thanks everyone! Bob and I are pretty stoked to be working on this project together. It's been a dream for a while! As we're trying to keep this entirely run off pelican, python and github pages, it's proving a bit of a challenge to create the newsletter.

It's going to be a manual process for now until we can automate it but of course, expect posts detailing how we get around it.

</comment><comment><AUTHOR> Thanks all, we hope to learn + teach a lot of Python as we go. We will do a weekly email update/ digest as well, just subscribe at the bottom of the blog.

</comment><comment><USER3> Neat. I'll take another look at this in the morning.

</comment><comment><USER4> I made an account just to post that I like this a lot...

</comment><comment><USER5> Would love to get this as a daily newsletter.

</comment><comment><USER6> Like it a lot, guys. You got my up-vote :)</comment>