Show HN: Hypergolix, "programmable Dropbox" with client-side encryption - <AUTHOR> https://pyhgx.readthedocs.io/en/latest/index.html <comment><AUTHOR> Hi HN, basically a one-man show here. Hypergolix just entered its alpha release, and I thought it would be an excellent opportunity for feedback. The fundamental motivation of the project is for individuals to retain autonomy over information they store on untrusted third-party servers; the hope is that Hypergolix can make "IoT" development easier with client-side encryption than without it.

Some links:

[1] Project website: [https://www.hypergolix.com/](https://www.hypergolix.com/)

[2] Hypergolix source (~36k LoC): [https://github.com/Muterra/py_hypergolix](https://github.com/Muterra/py_hypergolix)

[3] Golix docs (the crypto protocol that powers Hypergolix): [https://github.com/Muterra/doc-golix](https://github.com/Muterra/doc-golix)

[4] Golix Python implementation (~5k LoC; needs rewrite): [https://github.com/Muterra/py_golix](https://github.com/Muterra/py_golix)

[5] Hypergolix Slack channel: [https://hypergolix.signup.team/](https://hypergolix.signup.team/)

<comment><USER2> As a fellow distributed software developer ([http://firestr.com](http://firestr.com)) great work! Quick question, how are you doing conflict resolution if there is a long term network partition? Does a client have any control over merge conflicts?

<comment><AUTHOR> Thanks! All mutable objects have an internal monotonic counter. Currently, whichever counter is highest takes precedence, and any decreasing counter is rejected by the server. The "older" (lower counter) copy will receive an error when it tries to push, which will automatically pull in the most recent state. The application can then decide what to do.

That being said, contention issues like this require:

1\. the same account 2\. to be accessing the same object 3\. at the same time 4\. from multiple computers 5\. one (or more) of which goes offline 6\. while both are still producing data

This is the primary reason why support for concurrent instances of the same account is very experimental. All objects are single-author, so if you don't have that concurrent sign-ons, you have no contention.

Conflict resolution will always be an application-level concern. I would like to expose some synchronization primitives (distributed locks, semaphores, etc) for use within accounts, but this is a ways down the road.

</comment></comment></comment><comment><USER3> How is locating of the other end done? Do you have a DHT for this? LAN discovery? Or are we basically relying on your server to stay online?

Not a lot of notes about internals like this on the site - as an end-user developer it looks very good, so I'm sure someone will use it, but as a small time operations guy I worry about it.

<comment><AUTHOR> Because the system is asynchronous, you have to have a persistence server somewhere -- think email, not P2P. Since everything needs that server to work anyway, it's doing double-duty as a relay server. Each endpoint pubs/subs, and the mutual server handles the rest. So for example, when I was monitoring my home server from my flight over the holidays, all traffic was passing through hgx.hypergolix.com.

But it's specifically designed to use as many relay servers as you'd like, at the same time. So if you're worried about uptime, you can run your own servers. You do that like this:

        hypergolix config --addhost HOSTNAME PORT TLS

So, when I'm at home, my laptop will get updates over my LAN home server, in addition to hgx.hypergolix.com. Not only is this more reliable, it also reduces the receiver latency (sending latency is unaffected, because it's still pushing upstream to both servers).

LAN discovery (of both services and actual users) is planned but not currently supported; there are a whole host of P2P operations that Hypergolix is very well-suited for, but that haven't yet been implemented due to time constraints.

</comment></comment><comment><USER4> the first application you can provide (maybe as the project sample app) is to observe one file and sync it when changed.

most people I know that uses dropbox use it with expensive media workflows that are extremely slow to adopt anything.

<comment><AUTHOR> The idea isn't to replace Dropbox. Hypergolix doesn't sync _files_ , it syncs _objects_. That might seem like a small distinction, but when you're writing application code, it makes a big difference. For example, the second half of the sample app (which hasn't been written up yet, but has source on github [1]) uses a different object to remotely control the logging frequency on the server.

[1] [https://github.com/Muterra/py_hypergolix_demos/blob/master/t...](https://github.com/Muterra/py_hypergolix_demos/blob/master/telemeter/telemeter.py)

<comment><USER4> I got that. but the first thing I can think of is to have a client that syncs files :)

even applications that syncs files already treat them as "objects" as you need decisions on which side has a more up to date version for conflict resolution and such.

</comment></comment></comment><comment><USER5> Am I right in reading that everything is free, _except_ if you want the server to store your data? I.e., if I store data on my home server, I can use this for free?

Does your server have access to any plaintext?

<comment><AUTHOR> Correct. This is yet another "hosted platform for revenue" open source project; if you deploy on your own servers, you don't pay us.

Servers have no access to plaintext. They also have extremely limited metadata: only the "author" [1] of the data and its ciphertext length is known.

[1] Technically not the author but the "binder", which is a specific term used in the protocol, but we're getting a little deep into the weeds. See here for more info about binders: [https://github.com/Muterra/doc- golix/blob/master/whitepaper....](https://github.com/Muterra/doc- golix/blob/master/whitepaper.md#data-retention-and-removal)

<comment><USER5> That's pretty cool, thanks. So I don't need to worry about deploying MQTT servers and authenticating between them, I can just use this.

Can I suggest this alternative API:

obj = hgxlink.new_threadsafe(cls=hgx.JsonProxy, state='Hello world!')

obj.share_threadsafe(bob)

becomes:

bob.send({"some": "serializable object"})

<comment><AUTHOR> The API is definitely more cumbersome than I would prefer.

I really like this idea:

> bob.send(obj)

However, I don't think object creation and sending will ever be combined into the same operation, because:

\+ objects don't need to be shared (imagine using an object to track application settings; you don't want to send that to Bob but you want it to persist across sessions)

\+ objects can be shared with more than just Bob (and we'd like it to be the same object!)

So hopefully, in the future the API will look more like:

> obj = hgx.JsonProxy('hello world')

> bob.share(obj)

Unfortunately because of the async/await syntax, this gets a little complicated to implement. But it's definitely on the horizon.

<comment><USER5> Oh, I see, so not everything is 1:1. That makes sense then, thanks.

</comment></comment></comment></comment></comment><comment><USER5> That looks great! How are you encrypting communications between nodes?

<comment><AUTHOR> With a purpose-built protocol called Golix [1]. The documentation goes into a lot more detail but it has three main aspects:

1\. Encrypt things like PGP, except key encapsulation is separate from ciphertext delivery. Specific primitives used are AES-256, RSA-4096, and X25519, though deprecation of RSA is planned soon

2\. Everything is content/hash addressed, which helps substantially with the above. Specific primitive: SHA-512

3\. Data retention is governed like a reference-counted programming language; data gets a container, and then you make a signed "binding" to give the container an address. You can then sign binding revocations ("debindings"). When no addresses are left, the server removes the content.

[1] [https://github.com/Muterra/doc-golix](https://github.com/Muterra/doc- golix)

<comment><USER6> One thing I didn't get from the docs is some clearer explanation justifying what at first glance seems like a great deal of bespoke, custom crypto. Just browsing through the source I'm immediately hit with talk of running out of entropy, use of deprecated implementations, use of low-level functionality from a library that actually tries to provide safer, higher-level constructs, etc.

Maybe this is all necessary. But it isn't at all obvious why.

<comment><AUTHOR> Thanks for the feedback. Can I ask which parts of the documentation you were looking at?

<comment><USER6> Skimmed the security paper and a bit of the protocol lib source.

</comment></comment></comment></comment></comment><comment><USER7> Sounds interesting...the use-cases are not clicking in my head just right...So I'll dive in and rummage around some more.

</comment><comment><USER8> Nice work, keep it up and thanks for sharing!</comment>


Drone captures scale of Hong Kong protest [video] - <AUTHOR> http://www.bbc.com/news/world-asia-29421914

<comment><USER2> For contrast this is the reaction of a drone being flown over an American crowd.

[https://www.youtube.com/watch?v=KR39DErszRE](https://www.youtube.com/watch?v=KR39DErszRE)</comment>


Ask HN: phpmyadmin alternatives for simple db tasks - <AUTHOR>

I am not a db expert and when it comes to db management, I am just using phpmyadmin on my dev server. Yes, I confess. It is not pretty/secure etc but it does the task specially in dev.<p>However, I was wondering what other options are out there that are easier and simpler. All I want is a GUI on top of my db (mysql,postgresql) to run select, insert, update queries as needed. No bloat. <comment><USER2> Have a look Adminer[0]. It is a database tool, much like PhpMyAdmin but in a single file. It's user interface is a bit more bare but it is really handy when you just need a quick way to interact with a database.

[0]: [http://www.adminer.org/](http://www.adminer.org/)

</comment><comment><USER3> Check out Datazenit - [http://datazenit.com/](http://datazenit.com/) It is a web based database administration tool. In addition to your asked features it has data visualization and rich content editor.</comment>


Solipsism Online – Is this the real life? Is this just fantasy? - <AUTHOR> http://solipsism.online/ <comment><USER2> All in all you are all just actors in my dream. Or is it the other way round?</comment>


Ask HN: How to get my first 100 signups? - <AUTHOR>

I have just launched a new membership site and was wondering what advice people have for getting my first 100 signups on board?
Site URL posted in comment below <comment><USER2> Sounds like a saturated space, but folks are always interested in quality, free, sports commentary and journalism.

Presumably your betting tips are based on some competent insight which is not universally available. Write about that.

If your writing is good, you can find an outlet for it, like a message board site. So, start writing frequent, quality posts, with in-depth information, based on your research.

In this way, you'll gain a reputation. People will follow you on Twitter. Then you'll just need a reference to this web site in your signature.

<comment><AUTHOR> Thanks. I have always enjoyed writing and feel like this could be a good avenue.

Would you recommend that I write as a guest on larger sites, or run my own blog?

<comment><USER2> Don't run your own blog. At least not for a while. The chance you'll rank in football search result is low.

Here's an example of someone who's reputation you might aspire towards:

[http://www.thephins.com/forums/search.php?searchid=2222314](http://www.thephins.com/forums/search.php?searchid=2222314)

I read everything he says on this Miami Dolphins (American) football forum. But he also write professionally for some website, and he's a member of the premium section of the blog, where, I hear, there is some great info/discussions.

Here's an example of one of his more in depth posts:

[http://www.thephins.com/forums/showthread.php?83531-QB- Rakee...](http://www.thephins.com/forums/showthread.php?83531-QB-Rakeem-Cato- Marshall-\(Class-2015\))

The site doesn't let me search by popularity, or I'd be able to find you more examples.

<comment><AUTHOR> Thanks for the great examples.

I am going to make this a key part of my strategy!

</comment></comment></comment></comment><comment><USER3> If your algorithm is really better at predicting outcomes than bookmakers are (which it must be, if you are winning money from bookmakers), then you should be selling this to bookmakers instead of punters. I suspect you would be able to make a lot more money that way.

That's all assuming it works, of course.

<comment><USER4> A lot of betting in England is now betting exchanges, so it's not punter against bookmaker but punter against punter.

This is risky betting because there are information asymmetries that can be exploited. For example, there are some time delays in results being broadcast. Someone at the track / pitch can place / accept bets in the few seconds before information about an event is broadcast; and betting exchanges appear to be driving some corrupt behaviours in sports.

</comment></comment><comment><USER5> Advertising or simply posting in betting / gambling / sports related forums and online communities would probably be a good start. Offer discounts or coupon codes, people love that kind of stuff.

<comment><AUTHOR> Nice. Might start hunting for 5-6 to start interacting with!

</comment></comment><comment><USER6> Try to post on producthunt.com - you need to know someone who can submit it there for you though. If you make it onto the product hunt page, you will get much more than just 100 signups. There are loads of posts out there talking about how to get listed on product hunt.

<comment><AUTHOR> I will investigate.

Thanks for the heads up.

</comment></comment><comment><USER7> Go to a sports bar. Offer to buy beer (should not be very expensive) for those who get one other member to sign up with them. Pay for 50 beers, get 100 members. Plus, you might get feedback related to the site instantly (in person). That's hustling, in my opinion.

<comment><AUTHOR> Nice idea... This is something that I might try...

Is there an online version of this sort of thing? Like a service that lets you offer free access codes to people who refer 2+ other people?

<comment><USER7> No (well, probably), but there's you going to the bar yourself and watching them sign up, then paying for the cheap beer (hopefully ~$1 beer). Personal interaction will probably be a lot better for understanding your potential user base, too. I certainly don't feel close to the CEO/founders of "Claim It!" even though sign-ups have been incentivized with goods (like the beer I suggested buying at the bar). This is client acquisition and research and should be treated as such -- utilizing some super-abstract such as an app (as you asked for).

</comment></comment></comment><comment><AUTHOR> My site: [https://profootballbettingtips.com](https://profootballbettingtips.com)

<comment><AUTHOR> If you want to join, use code hackernews for a 50% discount!

</comment></comment><comment><AUTHOR> Anyone have any tips or tricks I can use to get potential leads onto my site?

</comment><comment><USER8> Hustle like crazy.. People talk about it but rarely do it...

<comment><AUTHOR> When you say hustle, what does that actually mean in terms of actions?

Just go out and interact with people?

<comment><USER8> You are solving a problem? Talk to your target market either face to face or in forums..

find out if they have this problem and if so suggest your solution...

<comment><AUTHOR> Ah cool.

Thanks will give that a go.. Currently sourcing the best places to interact with people!</comment></comment></comment></comment>


PC-MOS released under GPL - <AUTHOR> http://www.osnews.com/story/30052/PC-MOS_released_under_GPL <comment><AUTHOR> Want to try it out?

        wget -O a.img https://github.com/roelandjansen/pcmos386v501/blob/master/IMAGES/PCMOS386-9-user.img?raw=true
        qemu-system-i386 -fda a.img

<comment><AUTHOR> I can almost get serial working:

        printf 'memdev = $386.sys /p\r\n' > config.sys
        printf 'device = pcterm.sys\r\n' >> config.sys
        printf 'device = $serial.sys /ad=03f8,in=4,hs=x,ib=2048,ob=2048\r\n' >> config.sys
        printf 'smpsize = 80k\r\n' >> config.sys
        printf 'buffers = 40\r\n' >> config.sys
        touch -mt 9311171533 config.sys
        mcopy -n -o -i a.img -m config.sys ::

        printf 'addtask 300k,1,,user01,pcterm,1,19200\r\n' > autoexec.bat
        touch -mt 9311171533 autoexec.bat
        mcopy -n -o -i a.img -m autoexec.bat ::

        qemu-system-i386 -fda a.img -chardev socket,server,host=127.0.0.1,port=4555,id=com1 -serial chardev:com1 -rtc base=1994-06-17T16:01:21

(then in another window)

        nc localhost 4555

</comment></comment><comment><USER2> Perhaps a better link is the github repository? [https://github.com/roelandjansen/pcmos386v501](https://github.com/roelandjansen/pcmos386v501) That has a decent README and a link to Wikipedia which is quite comprehensive (I'd never heard of this OS before ...)

<comment> unkown-unknowns Maybe but the OP link has links to both of those and summarizes quite neatly what this is IMO.

</comment></comment><comment><USER3> I actually used this OS in 1991 (with an X.25 card) to make a 12 station (over two sites) POS system. That main station was a 486 and all the terminals were 286s.

It worked very, very well.

</comment><comment><USER4>
       8
       Insufficient disk space to install Operating System.
       PC-MOS Requires 800k to store systems files.
       Press F10 to Exit to PC-MOS.
       [PCMOS]

[https://github.com/roelandjansen/pcmos386v501/blob/master/SO...](https://github.com/roelandjansen/pcmos386v501/blob/master/SOURCES/src/mossrc1/INSTALL.MSG)

</comment><comment><USER5> No Borland compiler suite yet, which hurts, but I understand the enormous difficulties of getting that sort of thing into public hands.

I need to dig through my old software to see if I still have some of the software from back then. I think I still have a MS-DOS BASIC (WBASIC?) disc or two. The MS-DOS compatibility was one of the great things about PC-MOS.

<comment><USER6> Search for "abandonware". I personally like this[1] project; it isn't in English but their archive is really good, and Google Translate works.

[1] [http://old-dos.ru/index.php?page=files&mode=files](http://old- dos.ru/index.php?page=files&mode=files)

</comment></comment><comment><USER7> A multi-user, multi-tasking MS compatible DOS?

<comment><USER8> There was another such system back in the day called TSX-32. Before I had discovered Linux and heard of TSX-32, my dream as a kid was to create a multi- user DOS.

[I'd paste the link but the Android paste popup isn't opening for some reason.]

<comment><USER9> Digital Research also produced Concurrent DOS (later renamed to Multiuser DOS), which I think was based on Concurrent CP/M-86.

</comment></comment></comment><comment><USER10> I would love to see something like this running -natively- on an ARM processor especially on the Raspberry Pi.

</comment><comment><USER11> Seems it has its own filesystem, maybe somebody will shove this into a FUSE module. :- )</comment>


Prototype Nuclear Battery Packs 10x More Power (2018) - <AUTHOR> https://phys.org/news/2018-06-prototype-nuclear-battery-power.html <comment><AUTHOR> Isotope Beta-Battery Approaches for Long-Lived Sensors: Technology Review

Long-lived energy sources are needed for remote placement of unattended electronics in sensor network applications. The energy density of isotopes exceeds that of chemical energy storage by 6 orders of magnitude. This unique energy density characteristic is offset by the fact that power output should be limited to 1 mW levels in situations involving human transport, for both radiation regulation and safety. The low-power limitation is exceeded in long- lived power for space travel applications, where 200 W isotope power sources (radio-thermal-generators) are already available for long-lived space missions (6). Isotopes are used in many commercial applications (1) and are produced and available at modest prices. As sensors get smaller, and power level requirements are reduced, the use of compact, low-power, long-lived power sources will increase. Isotope batteries are relevant in this operational regime.(2014)</comment>


Lendsnap (YC S16) Lets You Apply for a Mortgage in Under 30 Minutes - <AUTHOR> http://themacro.com/articles/2016/08/lendsnap/ <comment><USER2> Hi, my name is Orion, CEO of Lendsnap. We are building the modern mortgage! Have you ever applied for a mortgage and thought there must be a better way? As a YC company, we are bringing the future of consumer lending. The service is B2B right now. If you are looking for a home loan, refi, or heloc, we can introduce you to one of our partner lenders. Or if you just want to try it out, we'd love to get your feedback. Cheers, Orion</comment>


Show HN: Discover, Listen and Discuss Classical Music - <AUTHOR> https://classicalmusiconly.com <comment><AUTHOR> Hello HN! I am really excited to show you Classical Music Only, a social website dedicate to discover, listen and discuss classical music. I actually tried to do a "show HN" thread 6 months ago when the first alpha release was published but somehow the link was dead and nobody saw it except me:D. Now the website is in beta phase and has become much more mature since first published. The website has many features that you can be interested in, among them:

        * Create classical music lists, listen to them and share them to the whole world
        * Ask for work recommendations and let the community answers you by adding and voting for classical works that are relevant to your question
        * Discover new works through personalized recommendations on your homepage, using the categorized basic lists filtered by periods, composers and genres or using community list
        * Open discussion and start debates about your favorite composers and works
        * Review classical works, read others' reviews
        * Discover the most favorited recordings for any classical work. Add your favorite recordings
        * Follow your friends and favorite users to see their posts on your homepage
        * See latest posts (discussions, reviews, recordings) of your followed composers on your customized homepage feed
        * Share stories, blogs and news about anything related to classical music
        * Listen to top works filtered by period, genre or composer. If you're bored, you can listen to a random masterpiece using a magic button on your homepage!

I am really excited to read your feedbacks and happy to answer any question.

<comment><USER2> Pretty long and off-topic shot, but would you (or anyone else) happen to know this piece? We've been looking for a name for years:

[https://soundcloud.com/stavrosk/unknown-piece-from- brewsters...](https://soundcloud.com/stavrosk/unknown-piece-from-brewsters- millions)

On-topic, how can I listen to a performance? I clicked through to a few lists but haven't found any buttons to do that on the site.

<comment><USER3> If you can produce a MIDI encoding of this piece, I can run it through a classifier trained on a large dataset of classical composers, and identify most similar pieces.

Alternatively, you can ask someone who trains deep learning models on audio files, and has a large classical dataset.

<comment><USER2> The person who transcribed it was kind enough to send it to me, I'd be grateful if you could search for it: [http://mormolyke.com/stuff/brewsters.mid](http://mormolyke.com/stuff/brewsters.mid)

<comment><USER3> Ok, I will email you when I run it.

</comment></comment></comment></comment></comment><comment><USER4> Hey, just a quick note,

I'd personally enjoy a big fat action button on the landing page that just says "Play" (just like the "i'm feeling lucky" button on the "TV" page). I know you have higher ambitions with the site (social, etc), but, anecdotally, i'm studying for exams right now and don't really have the motivation to parse all that text and creating a new user, but you could've easily had me listening for an hour if the content was easily, immediately accessible. good luck!

EDIT: Who am I kidding, I'm procrastinating so I might as well procrastinate right: It would be nice if the linked videos used youtubes timecode function, to skip intros. It was a bit jarring to hear the presenter in this video, for instance: [https://www.youtube.com/watch?time_continue=69&v=IInG5nY_wrU](https://www.youtube.com/watch?time_continue=69&v=IInG5nY_wrU)

<comment><USER5> This is why I love Youtube live channels. They just play a constant stream of music without having to sign up or do anything else complicated.

<comment><USER6> What are your favorite YouTube live channels?

<comment><USER7> Not OP, but I'm personally a fan of chill-hop stations, such as Lo-fi Hiphop Radio 24/7\. This kind of music lends itself to studying and working, as it has very little lyrical content. Find it here: [https://www.youtube.com/watch?v=AQBh9soLSkI](https://www.youtube.com/watch?v=AQBh9soLSkI)

</comment></comment></comment></comment><comment><USER8> Coming from someone who's not very familiar with classical music and who signed up to start getting into it...

Why am I forced to 'star' 5 composers and 5 works upon registration? I recognized a most of the top ~10 composers but I'm sure most people will just click the top 5 and move on which really defeats the purpose doesn't it?

And then once I'm at the homepage, I don't immediately see where I can review / change my stars.

<comment><AUTHOR> Hi timmonsjg, the welcome page has 2 main purposes:

1\. you see posts on your homepage feed of composers you followed (of course you can see all other posts without leacving the feed but only posts related to your followed composers are loaded by default)

2\. Get work recommendations based on your followed composers and starred works.

You are right that it sucks if you know little about classical music. A skip button will be added soon.

<comment><USER9> A short optional sample of every composers and songs would be nice, just to get an idea of the music. I can't remember music in my head (kind of Aphantasia for music), so it's really hard for me to choose just from the list.

<comment><USER10> This is a great idea tbh, most people actually know far more classical music than they think they do - but they couldn't tell you the name of a piece or its composer for the life of them.

</comment></comment></comment></comment><comment><USER11> At a quick glance, a few remarks about the onboarding :

\- the "I'm feeling lucky" button you mention in the comments here ([https://news.ycombinator.com/item?id=15861489](https://news.ycombinator.com/item?id=15861489)) is nowhere to be found, maybe not on the home page ? I did a ctrl-F to be sure but nothing.

\- You ask me to choose 5 of my favorites composers, but you only show me the top N most popular ones ... it feels very rude, you basically ask me to lie, imagine if on a regular music site I could only like something in the current top 40. Also consider that the probability that the 5 favorites composers of a given person are all in the top 40 is very low. I feel like presenting them that way is only going to make the most popular artificially even more popular which I don't think is something that you want.

\- It seems even worse for the "favorite pieces" list. The probability that a person's favorite pieces are all in the top N you selected is very very low. The majority of the pieces in that list were composed by composers I didn't choose just before.

\- The Four Seasons (Le Quattro Stagioni) was in the list 4 times, and The Rite Of Spring twice, as well as Chopin's Nocturnes (which is several pieces, by the way).

Apart from that I like the high-density layout, a welcome departure from the usual sites composed mostly of empty space.

<comment><AUTHOR> Hi ajnin, thanks for the thorough feedback

> \- the "I'm feeling lucky" button you mention in the comments here > ([https://news.ycombinator.com/item?id=15861489](https://news.ycombinator.com/item?id=15861489)) > is nowhere to be found, maybe not on the home page ? I did a ctrl-F to be > sure but nothing.

It's on the TV page [https://classicalmusiconly.com/tv](https://classicalmusiconly.com/tv)

> You ask me to choose 5 of my favorites composers, but you only show me the > top N most popular ones

> The Four Seasons (Le Quattro Stagioni) was in the list 4 times, and The Rite > Of Spring twice, as well as Chopin's Nocturnes (which is several pieces, by > the way).

These 2 points are totally valid and I am aware of them. These 2 points are connected to each other due to some technical difficulty (or maybe a bug?) in Django. We had difficulty to get unique random set of filtered items. That's why you see probably some duplicate items. Other users may have not experieced it because it happens randomly. That's why we ordered composers by some other metric. However, you can follow/unfollow any composer at anytime later inside their profile pages or on the TV page while listening a work by that composer.

> It seems even worse for the "favorite pieces" list. The probability that a > person's favorite pieces are all in the top N you selected is very very low. > The majority of the pieces in that list were composed by composers I didn't > choose just before.

Because The starring stage doesn't depend on the followed composers' stage. It's rational because you may want to star works within a bigger set of items and not be bound by followed composers only.

</comment></comment><comment><USER12> Just tried to find two "modern" composers: Vasks and Gulda. You have neither.

Peteris Vasks [0] is "now is one of the most influential and praised European contemporary composers."

[0] [https://en.wikipedia.org/wiki/P%C4%93teris_Vasks](https://en.wikipedia.org/wiki/P%C4%93teris_Vasks)

<comment><AUTHOR> Thanks jdemler for reporting, you can also add composer requests in the website itself at [https://classicalmusiconly.com/request/composers](https://classicalmusiconly.com/request/composers)

I will add all pending requests before the weekend

</comment></comment><comment><USER13> This seems mostly like a social site for discussing/reviewing classical music + a fancy way to categorize youtube clips. The recommendations doesn't seem that useful as I've already listened to many of the pieces, and youtube provides recommendations which are pretty useful

<comment><AUTHOR> > The recommendations doesn't seem that useful as I've already listened to > many of the pieces

Good for you! Currently there are some 500 works that are marked as "masterpieces". Not necesarrily all of them are Mass in B minor or Mozart's requiem tier. You may be surprised that you can discover some great work you didn't know about using this button. I am currently planning to add some filters so you can get a random work from a filtered set (Genre, period, century, composers' country). Of course, it will be improved as more works are added. But for now, it works totally random from a filtered set of works that are marked as masterpieces.

<comment><USER13> Haha I just clicked the random button for masterpiece and it gave me Mozart's Requiem. I was looking at the recommendations based on the pieces I chose anyhow. I personally like to listen to various pretty obscure pieces by composers I like (dvorak's symphonies 1-4), and don't really go by genre, period etc. Maybe others will find it useful

</comment></comment></comment><comment><USER14> Slightly off-topic, but is there a resource that collects the music cited in Hofstadter's "Godel, Escher, Bach"?

I've never been good at reading music notation, so those sections of the book (which I need to re-read sometime soon) are glossed over, and I feel I'm missing out.

<comment><USER15> [https://open.spotify.com/user/rspeer/playlist/3q3TsI67o6rUfS...](https://open.spotify.com/user/rspeer/playlist/3q3TsI67o6rUfSdjJTyNvT)

</comment></comment><comment><USER16> It is such a shame that _Adventures in Good Music_ is no longer syndicated on the radio.

[https://en.wikipedia.org/wiki/Karl_Haas#Adventures_in_Good_M...](https://en.wikipedia.org/wiki/Karl_Haas#Adventures_in_Good_Music)

</comment><comment><USER17> Just tangetial : if you don't know anything about classical but would love to learn a lot, then Colorado Public Radio does a fantastic job.

Listen for yourself: [http://www.cpr.org/classical](http://www.cpr.org/classical)

</comment><comment><USER18> Very good. The only missing feature would be a way to be able to navigate with the music still playing. Perhaps a simple "open in popup" like a lot of radio website used to do would work fine. Ideally having the website as a single- page-app.

</comment><comment><USER19> Hey, awesome project! I'm a huge fan of classical music and can definitely see myself using this. I'm going to share it with my dad who's also a big classical aficionado.

Anyway, my question may get lost, as this post really blew up, but here it is. I'm launching a project I've been working on soon-ish, and I'm wondering: what steps did you take to gain traction? My project is somewhat socially-oriented like yours (i.e. there's no paid product), so I'm wondering if you can share any insight into how to get it out there and get high-qualify contributors.

Thanks, and again, awesome job :)

<comment><AUTHOR> Thank you for this awesome feedback! I didn't take any special steps. I just made a show HN thread and frankly I didn't expect to be that successful since most successful threads I saw were SaaS or other technical projects. I am truly indebted to HN and the community for featuring the thread. I also submitted it on ProductHunt but it failed miserably :D

Thanks again and good luck with your project.

</comment></comment><comment><USER20> I like to listen to random classical music, but I know nothing about composer and songs. This means, that quiz at the beginning to know my preference, should there not be a way to skip it for users like me?

</comment><comment><USER21> I know this is a wall of questions, but I'm really impressed with your accomplishment. I'm interested in the origins of the site, how you chose the tech stack, any scaling issues you might have, how you create the content on YouTube, how you are handling cost, etc. I've been wanting to create something similar for a different domain and worry about scaling and costs. Have you written about any of this anywhere? Thanks for any answers, and good luck!

<comment><AUTHOR> Thank you! I hope you really enjoy it. The main stack is Vue for frontend and Python/Django + Golang for backend. I might share my pleasant experience in the future with vue enthusiasts since I became one myself!

</comment></comment><comment><USER22> Was disappointed to see it was based around YouTube clips, however, a wonderfully great idea.

<comment><AUTHOR> Listening using YouTube is just one feature among many other features like creating lists, asking for recommendations, discovering top recordings for any work, discover top works ranked by users' stars and filtered by genre, period, composer or century. It's intended more to be a social website than something like Spotify for classical music so you can discover new works, review and discuss classical music.

</comment></comment><comment><USER18> [https://classicalmusiconly.com/auth/social/complete/facebook](https://classicalmusiconly.com/auth/social/complete/facebook) gave me an error 500

<comment><AUTHOR> That's weird, I will look into the logs and see what can be done. Thanks Raphmedia for reporting.

<comment><USER18> Using create by email gives me (in chrome network console) "account already exists" and trying to log with that account sends a call which is never answered. Perhaps it's the HN hug messing your website up...

<comment><AUTHOR> You cannot create a new user by email currently. This is for already registered users who want to login only using their emails because they forgot the password or username or don't want to type them.

<comment><USER18> What about this here :

[https://i.snag.gy/1jPRFW.jpg](https://i.snag.gy/1jPRFW.jpg)

<comment><AUTHOR> Yes, this is the old way if you want to: (username + password + email), do you have a problem registering with this method also?

<comment><USER18> Yes. I get {message: "account already exists"} but when I try to connect with that account, I only get an error 400.

</comment></comment></comment></comment></comment></comment></comment><comment><USER23> Is it possible to listen to classical music on your site without registration ?

<comment><AUTHOR> Yes. You might want to register to get work recommendations based on your taste from your followed composers and starred works.

</comment></comment><comment><USER24> Cool someone cares about the special needs of the fan of classical music! There is another cool site, too: www.idagio.com . It is a Spotify for Classical music.

</comment><comment><USER25> How do users pay for their use of this site? Are the free users loss leaders for the premium subscriptions, or is the user's data monetized?

<comment><AUTHOR> The website is totally free. There is no premium subscriptions. Users data are not monetized. If you want to support the project, you may donate using Patreon or bitcoin.

<comment><USER26> I would just like to say that I appreciate that you're doing this purely with donations as the income stream. I really dig the social aspect, and more people discovering the joy of classical music is always a good thing. Cheers!

</comment></comment></comment><comment><USER27> After you sign up you're forced to pick favorites... I don't have any because I don't any.

</comment><comment><USER28> What's the point of following a dead composer? As if they were going to compose new work...

<comment><AUTHOR> Hi benob, following composers serves for 2 main purposes:

1\. you get posts on your homepage feed of composers you followed (you can also see other posts on your feed but the default is filtered by your followed composers)

2\. Discover work recommendations based on your followed composers and starred works

</comment></comment><comment><USER29> Does the web application provide APIs for searching certain work based on tags etc?

</comment><comment><USER30> Great idea, will keep looking in on it for content. Thanks OP!

</comment><comment><USER31> are all the entries linking only to youtube videos?

<comment><AUTHOR> Currently yes. But if there's enough interest. I shall start working on compiling Spotify albums. YouTube will remain the default option though since it's open and doesn't require registration.</comment></comment>


Salesforce will hire 40-50 Postgres people - <AUTHOR> http://archives.postgresql.org/pgsql-jobs/2012-10/msg00003.php

<comment><USER2> With Oracle slowly transforming MySQL into a 'free-open-core, closed-outer- shell' RDBMS[1], PostgreSQL is quickly becoming the main go-to alternative for anyone who wants to avoid database vendor lock-in.

Hopefully SalesForce will contribute its improvements back to the PostgreSQL community.

\--

[1] For example, see <http://news.ycombinator.com/item?id=4400797>

<comment><USER3> And then Oracle will buy Salesforce... Larry did say something like that but he said that the price is too high.

Here is my predictions: Salesforce is will start investing into new technologies and building cool stuff. However, that will not look good on stock price because R&D costs will skyrocket - and our "efficient" stock market does not like long term visions. The stock price will collapse. The board will panic and Larry will "save the day".

<comment><USER4> Larry and the Oracle execs truly hate SFDC. They really build up the rivalry internally to Oracle employees and paint Salesforce as the big rival that everyone needs to band together to beat. Combined with the duplication of products that would occur if Oracle acquired Salesforce I would be beyond shocked if it ever happened. At that point Salesforce would be so irrelevant that it wouldn't matter.

<comment><USER3> In my experience, things you described are probably true, but they have nothing to do with acquisition. Actually it is very much desired (Larry was hating PeopleSoft a few years ago... and see what happen).

And duplication of products was never a problem for Larry: he just kills the one with less customers. For example, in case of BEA and Oracle Application Server: BEA WebLogic replaced Oracle Application Server. In this case, in case of acquisition, Oracle cloud offering will be replaced with Salesforce.

</comment></comment></comment></comment><comment><USER5> Salesforce spends a huge amount of money on licensing their horizontally scaled Oracle databases. I'd venture to guess this signals Benioff exploring a strategic bet to tell Ellison to fuck off once and for all.

<comment><USER6> Actually hiring 50 people sounds more like a decisive plan than "exploring a strategic bet".

<comment><USER5> The posting says they're hiring only 5 now, 40-50 next year;I inferred they're still in an exploratory phase because if they were all in, they'd be hiring more than 5 now. The posting doesn't say they're doing a migration but having worked on Oracle -> PostgreSQL migrations and sharded database infrastructures, it makes sense.

<comment><USER6> Of course nothing is ever final, but publicly announcing something like this is already sort of a "fuck you" to Oracle, so I'd be surprised if they weren't a 100% sure of their plans to switch.

<comment><USER7> Though the plan might be to negotiate cheaper Oracle licenses..

<comment><USER8> Oracle won't negotiate with Salesforce -- there are too many personal traits between the CEOs.

</comment></comment></comment></comment></comment></comment><comment><USER9> I wonder if they're finally switching from Oracle to Postgres. I know that their Oracle clusters are a significant portion of their bottom line. Alternatively, I wonder if this is a replacement for their new Hbase cluster for feeds.

There seem to be lots of projects at SFDC that could be supported by Postgresql. It's going to be great though, considering the community might get some great tools from this.

<comment><USER10> When I was still at SFDC (January), postgres was being cautiously looked into as an Oracle alternative (along with HBase for certain parts, which has definitely been happening). Glad to see they are going for it.

<comment><USER11> May I ask why you left Salesforce?

</comment></comment></comment><comment><USER12> Reminder: Salesforce owns Heroku

<comment><USER13> They do say, though, that the job is to "Design and implement major pieces of the salesforce.com core database infrastructure". That doesn't sound like they're talking about Heroku, at least not as the main reason for their hiring spree.

<comment><USER14> Be that as it may a Salesforce.com representative told me that the hiring is related to the Heroku Postgres service, not a migration from Oracle to Postgres [1].

Perhaps the person writing the job ad was embellishing by calling it a major piece of the core database infrastructure.

[1] [http://www.wired.com/wiredenterprise/2012/10/salesforce- orac...](http://www.wired.com/wiredenterprise/2012/10/salesforce-oracle/)

<comment><USER15> Or Salesforce is moving to dogfood heroku internally.

</comment></comment></comment></comment><comment><USER5> I use MySQL plenty and there's a lot of things I like about it. But I honestly don't understand any of the MySQL related comments on this post. Even if Oracle didn't own MySQL, a migration from Oracle to MySQL is significantly more difficult than one from Oracle to PostgreSQL. The poor join performance of MySQL make it doubtful that it could have ever been a serious discussion at Salesforce (to say nothing of the merits of mvcc and PostgreSQL's license).

<comment><USER16>
      > to say nothing of the merits of mvcc

I want to know more about the merits ov mvcc and why don't they apply to MySQL.

<comment><USER17> Because it doesn't do MVCC, it locks instead.

<comment><USER18> False. InnoDB does MVCC by default.

</comment></comment></comment></comment><comment><USER19> This is why. Every time I launch MySQL client:

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1024604 Server version: 5.1.63-0ubuntu0.10.04.1-log (Ubuntu)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

<comment><USER20> I don't get it...

<comment><USER21> I think he's saying that Oracle's aggressive branding of MySQL (and other Sun products) has alienated some people.

<comment><USER22> Why does that matter, when Oracle already powers Salesforce?

<comment><USER21> Right. I don't agree with the OP, I just think that's what he was saying. Salesforce doesn't seem like someone to be put off by aggressive anything.

</comment></comment></comment></comment></comment><comment><USER23> Please clarify: Is [a-zA-Z]*SQL a query language or is it software (i.e. an implementation of an interpreter for a language)?

<comment><USER24> PostgreSQL is an RDBMS.

<comment><USER25> ORDBMS

</comment></comment></comment><comment><USER26> the lists of pgsql contributors and committersdoesnt look that big <http://www.postgresql.org/community/contributors/> <http://wiki.postgresql.org/wiki/Committers>

Are they gonna hire them all :))) I bet most of their hires will be ppl who never touched pgsql

</comment><comment><USER27> Not surprising after reading what the CEOs of Oracle and Salesforce have been saying in the news lately.

I don't use Oracle (my customers tend to be budget conscious). Even without Oracle experience it makes some real sense to whenever possible use free software if the total costs of software development, deployment, and maintenance are less - assuming equivalent functionality, scalability, etc.

</comment><comment><USER28> From what I've read about the Salesforce Oracle backend in the past, they are big users of Oracle RAC .

Hopefully if Salesforce switch they will develop some form of Postgres clustering solution which would be great for the Postgres community, as an active-active clustering solution with the characteristics of RAC would make Postgres even more competitive in the enterprise.

</comment><comment><USER29> This sounds like they could be building something awesome.

</comment><comment><USER30> ...now if I'd ever use Oracle products and wanted to negotiate a cheaper license, this the type of "news piece" I'd publish! (and it wouldn't even have to be "a lie" people experiment with OS all day since they're hiring "just" "5 engineers" it can be seen as a "small scale" (for Salesforce bien sur...) too)

</comment><comment><USER31> This is obviously Step 2 of many to wean off of Oracle's hardware, infrastructure and software which Salesforce undoubtedly has been running on since Day 1 but now can no longer afford to do so for strategic reasons.

</comment><comment><USER32> I wonder if this has anything to do with Heroku or eventually will; Postgres is very much one of Heroku's core offerings.</comment>


Material UI v1 for React is out - <AUTHOR> https://medium.com/material-ui/material-ui-v1-is-out-e73ce13463eb <comment><USER2> This looks like great work, but I must be wired wrong, but I hate material UI usability on the desktop. I found myself to be much more productive with more traditional approaches. I don't mean component look/design which I don't really care, as long as I can identify a button, but more the trend to organize things, well "differently". For example, the play store developer dashboard is a nightmare to use, it takes me forever to find functions X or Y. I don't know, "in the old day" I could find where function X would be located very quickly, now I have to search the UI in all places and expand everything until I can find it. Also actions available only when hovering something with the mouse are sometimes hard to discover, especially for keyboard users like me who "tabs" through all controls in a page.

<comment><USER3> Material Design is fundamentally broken. It's based on the idea that things should look like animated physical materials, but UIs shouldn't look like real motion, because there are many people out there with visual motion accessibility issues.

Animation should be kept to an absolute minimum unless you're making a game.

<comment><USER4> >UIs shouldn't look like real motion, because there are many people out there with visual motion accessibility issues.

Could you expand on that point? I'm struggling to think of a user group whose experience would be _fundamentally broken_ by the use of motion in Material. Could you give an example? I use Material extensively and would like to think that I have a good understanding of accessible design, but I'm always looking to improve.

<comment><USER2> The simplest example I have is text input field with placeholder "transforming" into the label when the field has focus. This simple animation and often color change of the text can be disturbing, especially when the appearance of the keyboard (on mobile) pull the field to the top and hide the label. On desktop, the label can become too small to read when above the text field. This is not really a problem for me, but I've seen people complaining about it.

If I think about complaint I would have, take the dialog spec[1], both "ACCEPT" and "CANCEL" "button" have same color and size, this is terrible design. I am going to do a destructive action, I need more distinction on what I am going to do. It should read "cancel" in a normal button and "reset settings" in a red button.

Looking at that page, I realize another MAJOR annoyance[2], what is "123 main street..." description? special "location" event attribute? Removing label from filled field is so bad for usability, for ALL users.

I could go on forever with what is wrong on every material design page.

[1]: [https://material.io/design/components/dialogs.html](https://material.io/design/components/dialogs.html) [2]: [https://material.io/design/assets/1K06WW9W94mIiLOEUwXV6Jf7QL...](https://material.io/design/assets/1K06WW9W94mIiLOEUwXV6Jf7QLrzkbNzz/dialogs- fullscreendialog.png)

<comment><USER5> > If I think about complaint I would have, take the dialog spec[1], both > "ACCEPT" and "CANCEL" "button" have same color and size, this is terrible > design. I am going to do a destructive action, I need more distinction on > what I am going to do. It should read "cancel" in a normal button and "reset > settings" in a red button.

This is easily done by setting an md-warn attribute on the cancel button, e.g., [https://material.angularjs.org/latest/demo/button](https://material.angularjs.org/latest/demo/button)

It is up to the designer to scope out the magnitude of destruction the action will cause and select the right color/hue, and even set md-raised on the default action in a workflow.

<comment><USER2> Well, if your app have an orange/red primary color, the warning color is just ignored.

And again, I am not saying that material design is bad "by design", I am saying it is not always well used, and that I personally don't like it.

<comment><USER5> > Well, if your app have an orange/red primary color, the warning color is > just ignored.

This is incorrect. If you use Material color templates and pick red as the theme, md-warn will pick an alternate accent color.

> And again, I am not saying that material design is bad "by design", I am > saying it is not always well used, and that I personally don't like it.

No disagreement there. Some of Google's own apps butcher Material Design. YouTube Music on Android is a usability mess.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I'm building my SaaS front-end on react-semantic ui [0]. (non dev builder here).

Besides population familiarity with material UI because of Google, am I missing something ?

Things I like about React semantic :

\- very clean documentation : i can search, find , and tweek components

\- Semantic is less opinionated visually than Material (IMO), and do appreciate lightweight.

[0][https://react.semantic-ui.com/](https://react.semantic-ui.com/)

<comment><USER7> Semantic UI is anything but lightweight.

<comment><USER8> Yeah, it feels more heavy to me as well.

</comment></comment></comment><comment><USER9> I looked a bit at this while it was still in beta, and it seemed to be one of the more comprehensive UI libraries for React, and also one of the more active projects. It also isn't restricted to desktop use like some of the other UI libraries.

I'm curious about the choice for styling components, there seems to be a lot of different approaches and no clear winner.

<comment><USER10> When development of v1 started, JSS was the only solution that (with some tweaking) met all the needs of component library (as opposed to say, an application), as well as being one of the most performant.

The thread that this comment[1] is in is where it all starts, but the repo and presentation linked from that comment should give the answers. At least as a snapshot at that point in time).

[1][https://github.com/mui-org/material- ui/issues/4066#issuecomm...](https://github.com/mui-org/material- ui/issues/4066#issuecomment-256772844)

</comment></comment><comment><USER11> Awesome news, I have been following the beta for the last year, upgrading versions every couple of weeks. The TypeScript definitions were perfect to catch changes especially in property names. Will get my site upgraded ASAP. Can't wait to see where you take this next.

</comment><comment><USER12> Congratulations and thank you! This is a fantastic library, my team has been using the beta versions successfully in both desktop and mobile projects. The overall quality of and amount of components in this library has resulted in a major productivity and user experience boost for us.

</comment><comment><USER13> Congrats! I've played with this on various projects for year now.

The only thing I keep getting frustrated with is styling with Typescript. I don't like the withStyles HoC but the alternatives still feel difficult to use.

I would love to just use a decorator but I believe there's a TypeScript feature still missing in order to support it correctly. I'm curious if the recently announced TS 2.9 changes will help.

<comment><USER14> Myself and many others are using typescript styling with success. If you have a specific problem, please file an issue so we can take a look.

<comment><USER13> For the record I'm referring to the scenarios described here. [https://material-ui.com/guides/typescript/#usage-of- withstyl...](https://material-ui.com/guides/typescript/#usage-of-withstyles)

And this TS issue: [https://github.com/Microsoft/TypeScript/issues/4881](https://github.com/Microsoft/TypeScript/issues/4881)

The guide just comes off as a bunch of subpar workarounds.

</comment></comment></comment><comment><USER15> Nothing shy of heroic efforts have gone into making such a comprehensive and wonderful-to-use library!

I look forward to seeing its future flourish!

Thanks to all who contributed.

</comment><comment><USER16> A big thanks to the developers for this library. I've been using this with kotlin and react. Thanks for also including comprehensive typescript definitions. Great slibrary for spinning up web apps.

</comment><comment><USER17> I've been using the pre-1.0 version for over a year, and recently switched to using the beta of the 1.0, and just want to say thanks — this is far and away the best UI kit I've come in contact with. It's well-designed, comprehensive, customizable, well-documented, and fun to work with. Great work!

<comment><USER18> Yup, big improvement over pre 1.0 as well. The old data table stuff in particular was pretty painful to use but that's all been taken care of now. The only thing I've used that's of similar quality to Material UI at this point is Vuetify, which still has a few rough edges

</comment></comment><comment><USER19> As someone who contributed to a very small part of this I know how hard the core maintainers worked and how patient they were, at least with my very long lived PR.

Thank you for staying the course and believing! What an EPIC effort!!!

</comment><comment><USER20> Thank you for your effort and for supporting TypeScript.

</comment><comment><USER21> Google announced their version of Material React (Alpha) at IO. "Material Components for React (MDC React)" Curious to see how it plays out with Material-UI. They should support Material-UI.

</comment><comment><USER22> Congrats guys! It's been a pleasure using the pre 1.0 releases -- looking forward to trying 1.0 out.

In addition to the overall polish, one of my favorite aspects of this library is the authors' focus on controlling bundle size. Because of this library I learned that ES6 default imports may not be cheap.

VSCode users: consider checking out Import Cost extension [1] to keep an eye on this.

[1] [https://marketplace.visualstudio.com/items?itemName=wix.vsco...](https://marketplace.visualstudio.com/items?itemName=wix.vscode- import-cost)

<comment><USER23> Unless I'm misunderstanding something, wouldn't Tree-Shaking remove the unnecessary code paths from each import? Assuming you're using Webpack 3+ that is.

<comment><USER24> Tree-Shaking (in Webpack 3+) is still somewhat conservative at the module level unless the dependent library also declares "sideEffects": "false" in package.json.

</comment></comment></comment><comment><USER25> > Examples. We are hosting _example projects_ with the most popular project > starts: create-react-app, Next.js, Gatsby, CDN and Parcel.

"Example projects" link is broken. But the master branch seems to contain them: [https://github.com/mui-org/material- ui/tree/master/examples](https://github.com/mui-org/material- ui/tree/master/examples)

<comment><USER26> Thanks, it's fixed

</comment></comment><comment><USER27> Your weekly reminder that flat ui (and its derivatives, like material UI) are big steps backwards in usability:

[https://www.nngroup.com/articles/flat- design/](https://www.nngroup.com/articles/flat-design/)

Granting the validity of many aesthetic criticisms of over the top skeuomorphism, it will be a good day for users when the fashion-chasing flat ui era is over.

<comment><USER28> Material is slowly moving more in the "flat 2.0" direction that the article points out as fixing flat UI's usability problems. It's not fully there yet, but you can see aspects of it in say Google's floating add buttons in Calendar, Inbox, YouTube's search box, etc.

<comment><USER27> It is worth meditating on the fact that such a terrible idea was and is able to dominate the visual design community for so long without any significant push back. It has caused real pain for end users, and people who objected were shouted down or ignored.

All the more outrageous in an industry that likes to wear the mantle of empiricism.

</comment></comment></comment><comment><USER29> The new Table APIs are fantastic. There used to be a lot of magic, but now all the selection handling is composable. Big props for the v1!

</comment><comment><USER30> This is super cool - and the premium themes are very nice.

Just wanted to request for more react templates ... say an ecommerce site, etc. There's a burning need for this that is unserviced elsewhere.

<comment><USER10> That's absolutely the plan now that v1 has landed, along with Material Design v2 components and themes.

Material-UI has been designed with customisability in mind, so you can get the functionality of the components without necessarily having to look like Material Design.

<comment><USER6> how to follow this ?

> so you can get the functionality of the components without necessarily > having to look like Material Design.

</comment></comment></comment><comment><USER31> Great work, guys! Still bummed that you dropped Flow support, but I understand your reasoning. Definitely the most pleasurable UI toolkit to work with, and contributing is a blast.

</comment><comment><USER32> I have been programming with Material UI, every day, for the past year and have nothing but very positive comments to make about it. The team is excellent, the code is extremely reliable, and the

[https://github.com/cssinjs/jss](https://github.com/cssinjs/jss)

just works.

Its simple, easy to use, and not having to deal with global stylesheets is a pleasure.

And they are just getting started.

I look forward to the future with this React toolkit.

An incredible effort has been made by the team members.

</comment><comment><USER33> This is a fantastic library and made it so much easier for a beginner like me to make stuff!

</comment><comment><USER34> Congrats for the hard work ! This lib is a pleasure to use !

</comment><comment><USER35> Congratulations on v1 and appreciate the efforts!

Just in time for my needs as I have been looking for other option besides Bootstrap, Fabric and Blueprint.

</comment><comment><USER36> I'm liking 1.0 of MUI, but React's lifecycle method massacre has just made it impossible for us to move to v17.

</comment><comment><USER37> Been using for a long time, but never realized that the product didn't reached v1 yet :) Great job.

</comment><comment><USER38> A surprising lack of pictures in this article... One picture that shows the UI (one button)? Really?

</comment><comment><USER39> Is there a demo that I don't need to download first?

<comment><USER34> You have demos for every material-ui components in the documentation.

[https://material-ui.com/demos/app-bar/](https://material-ui.com/demos/app- bar/)

</comment></comment><comment><USER40> I get that 'cssinjs' is now new and trendy but how can people legitimately pretend that the act of transcribing your css changes to their js format is anything but developer/designer hostile?

i can't be alone in mocking something up, then switching to browser to fine tune the css, then taking that back in to codebase.

Somebody in work also had the idea of storing every components styling in JSON, then getting the browser to render that as styling...so now you need to understand a JSON->CSS engine just to troubleshoot most styling issues?

When will it end. Do we need to rip out the DOM, HTML, JS & CSS and start over because we're creating more elaborate Rude Goldberg machines every couple of months.</comment>


Transatlantic flying: Wow throws a curve-ball - <AUTHOR> http://www.economist.com/blogs/gulliver/2014/11/transatlantic-flying

<comment><USER2> It's worth underlining just how hard the American carriers have been fighting against Norwegian and WOW under every excuse they can think of: "unfair" competition, spurious safety concerns, labor laws, strong-arming airports into denying them landing spots, etc. My favorite example of chutzpah was claiming that lower fares are "not in the public interest" (...because what's good for AA is good for America, right?).

[http://time.com/money/2827588/cheap-flights-europe- norwegian...](http://time.com/money/2827588/cheap-flights-europe-norwegian- air/)

In general, international flights to the US remain remarkably restricted and regulated. Foreign carriers aren't allowed to transport passengers within the country, transit without a visa is completely impossible, etc. Compare this to the EU and (soon) even South-East Asia, where anybody can fly anywhere they wish, as long as they fulfill standard safety requirements.

<comment><USER3> Sometimes competition with lower costs lead to a race to the bottom in quality where you cannot even buy anything of the former quality even at higher prices. You will see carriers nickel and dime you everything that was previously included.

<comment><USER4> This already happens, every time I sit through United's forced-ads talking about how "I saved up to $100 on checked bag fees". (All to promote their crappy Chase partnership.) Still, pretty cheeky to rub the baggage fees in people's faces, I think.

Or, United not carrying amaretto on some flights, or having the nerve to charge $6 a drink for it in the lounges.'

Spirit's even worse.

</comment></comment></comment><comment><USER5> All I need is WOW to throw in a $100 upgrade that includes a shuttle from KEF to the Blue Lagoon[1] for a quick hot water wallow to take the pain out of sitting in a cramped seat for a few hours, then back on the bus and onto another plane for the onward leg. Transatlantic flying would be a whole lot more tolerable.

[1] [http://www.bluelagoon.com/](http://www.bluelagoon.com/) \- no, not a natural geothermal spring, but no less relaxing for it.

<comment><USER6> What a wonderful idea, that place is great... I can't imagine how nice that would be after two 5 hour legs.

</comment></comment><comment><USER7> Rather than finding a globe I'd rather just look at the routes described in the article on some sort of online great circle mapper.

I just tried a couple from a quick search but wasn't impressed with their interfaces. Anyone care to recommend a good online tool with this functionality?

<comment><USER2> Try gcmap.com and choose polar-aspect orthographic:

[http://www.gcmap.com/mapui?P=BER-KEF-BOS;NRT-HEL- CDG&MS=wls&...](http://www.gcmap.com/mapui?P=BER-KEF-BOS;NRT-HEL- CDG&MS=wls&MP=p&DU=mi) (Berlin to Boston via Iceland; Tokyo to Paris via Helsinki)</comment></comment>


Microsoft CEO Satya Nadella slams Google's game-playing artificial brain - <AUTHOR> http://www.businessinsider.in/Microsoft-CEO-Satya-Nadella-slams-Googles-game-playing-artificial-brain-We-are-not-pursuing-AI-to-beat-humans-at-games/articleshow/54534210.cms <comment><USER2> Maybe I'll get slammed for saying this, but this is exactly why so many people have bad perceptions of Microsoft. I have tickets to this event and I could not be less excited to be there.

Most of the sessions seem so boring. My guess is that ignite is aimed at IT planners more than developers,but as a developer I don't find any of the black box,cloud platforms that the industry is turning into their bread and butter exciting in the least.

</comment><comment><USER3> Maybe slammed is a little bit of an overstatement, it was more of a smug poke. Even still... acting smug about an AI that plays go when the other Microsoft article[1] on here from ten hours ago mentions that the company is working on creating a fantasy football playing bot with the NFL made me chuckle.

[1] [https://techcrunch.com/2016/09/26/microsoft-ceo-satya- nadell...](https://techcrunch.com/2016/09/26/microsoft-ceo-satya-nadella-on- how-ai-will-transform-his-company/)

</comment><comment><USER4> Well, they do have a track record at this sort of thing.

[https://www.youtube.com/watch?v=eywi0h_Y5_U](https://www.youtube.com/watch?v=eywi0h_Y5_U)</comment>


Show HN: Hacker airlines, airline as a platform. Create your flight. - <AUTHOR> http://hackerairlines.com

<comment><USER2> I understand what's happening just from the confused comments. Crowdsourced charter airline destinations/flights.

Friday night is probably a rough time for HN comprehension. Would be awesome to see this hit critical mass, as has with auto transport! Do you have plans to target popular events (i.e. Sounders fans recently chartered a plane to Vancouver, BC for a rivalry match [1])?

If so this is along the lines of similar app ideas I've had, although much more high-end. Best of luck!

[1] [http://www.theprovince.com/sports/wing+prayer+Southsiders+ch...](http://www.theprovince.com/sports/wing+prayer+Southsiders+charter+plane+critical+Whitecaps+match+Seattle/9017728/story.html)

</comment><comment><USER3> The concept seems pretty interesting, but it turned me off when it required Twitter permissions to even do anything. So I still don't know what it does. Conclusion: Interesting, but not interesting enough for me to give permissions without first offering me more details.

</comment><comment><USER4> Quick note: dollar-using countries like the US write $4.99 meaning one cent less than 5 dollars. Or they write $4,999 for one dollar less than 5 thousand dollars. Or they write $499 for one dollar less than five hundred dollars. Hope that helps.

<comment><AUTHOR> Thanks!

</comment></comment><comment><USER5> I don't get it.

</comment><comment><USER6> The page keeps redirecting me to the spanish language version.

I would like to know more before connecting to Twitter too.

<comment><AUTHOR> Fixed! we only tweet the message above and you will start following @hackerairlines. Nothing more

</comment></comment><comment><USER7> I can only see the Spanish-language page for some reason. Safari on OS X 10.9. Changing the user agent doesn't fix it.

<comment><AUTHOR> solved, thanks!

</comment></comment><comment><USER8> What exactly is this? It looks interesting.

<comment><AUTHOR> Thanks! HA is the first airline that works as a platform. Users create and explore flights. Users book seats and charter the airplane if they cover the costs.

<comment><USER8> I "created" a flight but nothing happened - only a tweet and nothing else.

</comment></comment></comment><comment><USER9> booking your seat is so easy!

</comment><comment><USER10> IM SO CONFUSED</comment>