H-1B draft with proposed changes [pdf] - <AUTHOR> https://lofgren.house.gov/uploadedfiles/high_skilled_bill_sxs_and_analysis_-1-2017__final.pdf <comment><USER2> Section 2.

That's what matters if you're an Indian with an I-140 dated 2009, afraid to change his H1B job, despite salary or personnel issues. (Also, ask me about why I'm not starting up).

That one section prevents this "you can quit anytime you feel like" threat held over Indian employees by employers, because an I-140 for the employee is issued to the employer.

An employee with mobility between employers is no longer forcing the wages down.

That does not prevent a company from sending the same job to India, because it suddenly costs so much, but it does prevent the lowering of wages due to people putting up with abusive or near-illegal employment practices.

This is good for the local economy and basically makes an "outsourcing" employee irresponsible if she doesn't jump to an american firm who will do her paperwork right.

Raising the salaries all around.

(delete mini-rant about living expenses and salaries - increased pay all around isn't always what it's cracked up to be)

That section alone, shifts the balance of power between an employer and an H1b holder.

</comment><comment><USER3> I was a free market libertarian until about last week, when I finally got sick of being lectured and called names by tech billionaires. Now I'm for anything that helps me financially, and hurts these people.

If the H1B program were abolished entirely, my compensation would shoot up there with doctors' and lawyers', and the tech billionaires would be slightly less rich.

This measure doesn't go that far, but it's a step in that direction.

<comment><USER4> It also seem likely that opening an office outside of the USA may become an interesting alternative. Then your wage and your job may be at risk. If impact to you is how you evaluate things, it would seem like there's room for worries.

<comment><USER3> > It also seem likely that opening an office outside of the USA may become an > interesting alternative. Then your wage and your job may be at risk. If > impact to you is how you evaluate things, it would seem like there's room > for worries.

There are a lot of people on this thread who don't understand how the law of supply and demand works.

<comment><USER4> Supply can go down. But don't forget that demand can also go down.Car manufacture isn't the only job that can be outsourced.

</comment></comment></comment></comment><comment><USER5> Reposting my comment from the other thread [1]:

\---

While TCS, Infosys etc figure prominently in the H-1B debate, I think this new bill does not affect them as much as it is made out to be. The real downside is for staffing firms (popularly known as "desi consulting shops"), mostly run by Indian-Americans.

TCS employs 370K+ employees worldwide and had revenue of $16B+ in 2016. They might have gotten 3K H-1Bs each year. If they know how to run projects staffing 370K employees with 3K H-1Bs per year, they will figure out a way to run it with 500. Also, with that kind of revenue, they will pay the $130K if it comes to that.

H-1Bs, I suspect, have a power law distribution. TCS, Infosys etc top the list of H-1B visas per year, but there is a long tail of companies which get allotted few visas every year. Some of these in the long tail are high tech firms in real need of skill and are the ones paying appropriately for it (AmaFaceGoodSoft etc). But I think the larger cohort are the staffing shops which bend the rules often and pay low.

\---

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

<comment><USER6> "desi consulting shops" might even run fake payrolls to bypass(break) the laws. As someone who has seen them closely, it is common practice for them to pay an employee $110K on paper but $60K in real.

<comment><USER7> Isn't that highly illegal?

<comment><USER8> Highly illegal and HIGHLY common. When my wife moved here (I uprooted her career because of our marriage), she spoke to a few of these people. It was way easier to get an illegal job, and better green card prospects (don't know why).

<comment><USER5> Things are much better these days with proprietors, HR folks and lawyers of these firms getting jail sentences.

<comment><USER8> Many of them? I saw a couple in the news, so there is a general push in the right direction I guess.

</comment></comment></comment></comment></comment></comment><comment><USER9> Looks like a good move, aimed at reducing H1B misuse by the outsourcing companies that arbitrage wages for large employers like Microsoft, while enabling move visas for other employers.

Curious to see how this bill would prevent the major outsources from forming a load of subsidiaries and gaming the system anyway. Maybe it's more of a bill for show, than to actually solve anything.

Also, for those jobs with lower income potential, the question still stands - can the employers find enough US citizens to take on those jobs (and do them well), given the the low salary.

</comment><comment><USER10> "Unless dependent employers compensate their H-1B workers above the required wage level, they must make attestations regarding recruitment and non- displacement of U.S. workers"

Does this mean that a company can pay below the 130k if it can prove that it's not possible to hire an American even with higher wages?

<comment><USER11> Yes, the 130k figure does nothing in practice.

<comment><USER12> And yet all the panic portrayed by the press is generated by the 130k figure.

</comment></comment></comment><comment><USER13> Section 8 provides a way to make it easier for students to immigrate by allowing dual-intent.

<comment><USER14> Yup this seals the deal for this proposal. If you are a student who obtains a degree at a USA college and if you can find a competitive job then "Welcome to the USA". So basically as a foreigner you have to be an above average student.

<comment><USER15> That's great news. I firmly believe we should be stapling greencards to the back of higher education diplomas.

</comment></comment></comment><comment><USER3> As a software developer and a US citizen, this is to my advantage. I hope it quickly becomes the law of the land.

<comment><USER14> How is this to your advantage? Are you having hard time securing a full-time dev job with a US tech company? Last time I checked, there was more demand and shortage of supply for smart programmers (I have been interviewing a lot). Do you happen to work in a region where there are less tech jobs?

<comment><USER3> It's simple economics. H1B's increase the supply of developers in the US, relative to the demand. And that drives the price of developers (i.e. wages) down. I don't think any intelligent person can fail to understand that.

To answer your question, I don't have trouble finding or keeping employment. This move will simply drive up my market value. So I'm for it.

<comment><USER6> > It's simple economics. H1B's increase the supply of developers in the US, > relative to the demand. And that drives the price of developers (i.e. wages) > down. I don't think any intelligent person can fail to understand that.

The simple economics you are quoting will argue against protectionism. Even hypothetically assuming it will increase wages it will in turn make it costly to innovate and increase the cost of services for average American consumer.

If Citibank charges $25 monthly fee they might have to charge $30 to make the same money. That generally hurts American consumer just the way American protectionism towards Steel and Sugar industry hurts American consumers while benefiting special interest groups.

For those of us who have taken Econ 101 can tell you that this is even worse for resources such as human mind. The marginal impact on salaries with every additional H1B US taken in next to 0 simply because Job at higher end are not zero sum game. Each extra person helps grow the pie significantly this increasing the salaries even further.

For low value jobs such as a gardener, a cheaper labor will replace the expensive one because having two gardeners does not increase the productivity of the employer by 2X. But for high-end jobs such as say a Doctor, having many doctors would mean more drugs, faster solution to diabetes and cancer.

<comment><USER3> _> The simple economics you are quoting will argue against protectionism. Even hypothetically assuming it will increase wages it will in turn make it costly to innovate and increase the cost of services for average American consumer._

You're quite right, of course, and until about a week ago, I would have opposed this change to the law on that basis. But I've had a bellyful of being lectured and name-called by self-righteous billionaires. So now whatever hurts them and helps me, I'm all for.

And although protectionism does hurt a country overall, it helps individuals and companies that are protected from competition. And for this change to the H1B law, I fall into that group. So bring on the protectionism, I say.

</comment></comment></comment></comment></comment><comment><USER16>
      Sets aside 20% of the annual allocation of H-1B visas for small and start-up employers

This is great, I was worried with the $130k requirement candidates would be stuck at huge corporations, but 20% is fairly generous.

<comment><USER17> But will there be enough small companies willing and able to hire H1B workers at that salary level? This might just have the effect of reducing the number of visas that are actually given out, as some of this 20% will remain unused.

</comment></comment><comment><USER18> Everyone seems to think that H1-B visas are just for tech employees. What about other professional service fields like RN's in private and public or community clinics, doctors e.t.c. I doubt all eligible jobs can pay the proposed amount. Also what about geographic cost of living adjustment? If anything this bill concentrates high wages in the pasts and maybe Chicago. I don't know how this changes the equation for middle America.

</comment><comment><USER19> There are some good things in there, in particular 6. MARKET-BASED H-1B VISA ALLOCATION. However what is missing is a month by month allocation, which would be much more competitive than the existing yearly, April 1st allocation.

If you are in Zoe Lofgren's district, please send her comments here: [https://lofgren.house.gov/contact/](https://lofgren.house.gov/contact/)

</comment><comment><USER14> I am a bit confused about $130,000 limit. A $130,000 salary in NYC is way different than a small town in Mississippi. Should not it be regional average?

<comment><USER20> The most economically productive businesses are located in the most expensive areas, because they get the highest ROI from hiring top employees. Skilled workers get paid less in MS because the national economy needs skilled workers less in MS.

</comment></comment><comment><USER21> Is this in fact the same H-1B bill that is likely to pass congress and the President's signature? I ask as the sponsor of the bill, Rep. Lofgren, is the (Democratic) congresswoman for downtown San Jose.

</comment><comment><USER5> Other relevant discussion here: [https://news.ycombinator.com/item?id=13529792](https://news.ycombinator.com/item?id=13529792)</comment>


LiteratePrograms.org: An Executable Wiki - <AUTHOR> http://en.literateprograms.org/LiteratePrograms:Welcome

<comment><USER2> Knuth's literate programming is an excellent idea.

The literate programming examples I have seen lack suitable modern integrated development environments. The idea of interweaving source code and commentary in a book style has few advantages over Javadocs, Doxygen, and the like. And they are more work for the developer.

The concept of coupling comments to code is a good one. What we need to do is loosely source code to its comments using an intelligent editor. Mute the music and watch the end of the following video:

[http://www.youtube.com/watch?v=u3QqjhzhnAw&t=1m41s](http://www.youtube.com/watch?v=u3QqjhzhnAw&t=1m41s)

Essentially, a dual panel editor. On one side is source code, on the other are the comments linked to each line in the source code. You could still generate the wiki-like interwoven documentation, but you could also generate the documentation as a single document (without source code).

Further, since the documentation editor is independent of the source code editor, the documentation could be written using a simple mark-up. You could also embed business requirements within the commentary to suggest the exact business requirement being met by the code (using linked text and a single source; update the business requirement and you know what code needs to change). Conversely, formal technical documentation (user guides, administration manuals) could link directly to the source code commentary (a single source, once again).

I'd be interested in reading the disadvantages to such a dual editor system.

</comment><comment><USER3> The best example I can think for online, executable wikis is <http://scraperwiki.com> \- it allows you to create web scrapers, then periodically runs the scrapers and offers up the data in a nicer feed. As it's a wiki, anyone can reuse the scraper, or fix it when the structure of the page changes and the scraper breaks.

But it doesn't follow the example of literate programming, I guess largely because the code is generally boring, and written to quickly solve a problem, not primarily to act as an exemplar.

</comment><comment><USER4> I've been trying to do Literate Programming in one project and somehow I can't stop feeling like this is a big time sink (writing down all this prose) that ultimately makes programs harder to understand (single code module can be spread across half of the file) and harder to modify (when you change one part, you have to look through half of your prose to check if there is something to be removed/rephrased).

I don't know, maybe I'm doing it wrong?

</comment><comment><USER5> "a unique wiki where every article is simultaneously a document and a piece of code" <\- except that article

<comment><USER6> From what I gather they meant to say that you can download the code, which is automatically extracted from the wiki page. ctangle for mediawiki?

</comment></comment><comment><USER7> I wrote this site to combine Markdown documents and executable <script> sections.

<http://wiki.pageforest.com></comment>


The rise of Anti-Distraction Software - <AUTHOR> http://www.economist.com/node/16295664

<comment><USER2> Like probably most of you, I need an Internet connection to do my legitimate work. Though some of these productivity guards do allow granular control of their blocking, it's too much work to keep them in sync with my changing projects and reference needs.

I read an interesting article recently, discussing the idea of "habit fields". Basically, their assertion was that our bad habits, like checking email or refreshing HN, are tied to physical location as much as anything else. The idea isn't new or unique, but is interesting when applied to this issue of the digital shallows.

So, I've been trying to tackle the problem from that angle instead. I force myself to use an iPad or laptop for casual reading, only in the same physical areas I would normally read physical books for leisure. If I see something interesting while I'm at my development machine, I send it to Instapaper for later and close it immediately.

It's hard to quantify, but seems to have had at least some positive impact on my ability to sit down at my development machine and easily focus on productive tasks.

What's really scary is how large a majority of Internet users are being exposed to the same brain drain we are, but aren't as acutely aware of it because they're refreshing Farmville instead of HN.

<comment><USER3> Sounds like something Paul Graham once wrote about using separate computers for work and leisure. You end up feeling uneasy spending too much time at the wrong machine because you're more aware of the difference in physical context.

</comment></comment><comment><USER4> As engineers we should be looking at root cause, not fixing the superficial symptoms. The root cause here is that we don't have 100% control over the decisions that we make. The way to gain that control is not via willpower or superdiscipline, but rather through meditation which trains our brains to recognize the moment where we are about to fly off to Facebook/HN/Twitter. Mindfulness is the key word, see <http://www.youtube.com/watch?v=3nwwKbM_vJc> Its almost embarrassing how much that video changed my perception of my decisionmaking.

</comment><comment><USER5> Ironically, I got distracted about 3 paragraphs in when I had to go research a bunch of those tools they mentioned. Sigh.

<comment><USER6> Yeah, usually when I'm reading about something on distraction I read it more carefully just to try and prove to myself that it's not me their referring to.

</comment></comment><comment><USER6> When studying for exams last week I went down to my girlfriends holiday house which doesn't have the net, only internet was 3G on my phone but it was on roaming so it would be costly to use for anything but the basics.

If you are able to locally store everything you need it's a great way to get more things done, I also seemed to sleep more normal hours because there is less to keep me distracted.

With these productivity programs, an interesting way to keep people on focus without making them physically impossible to break is to hook them up to people facebook/ twitter/a website designed for it where each time they broke the restrictions a popup asks them to write a short message on why they did. No better way to highlight any real concentration problems than let your friends see every time you can't keep to your goal.

</comment><comment><USER7> My favorite tips for avoiding distraction online:

1) Understand that load times, when constantly browsing, are a huge source of "jumps". When a page takes along time to load, I jump to a different task. Use this knowledge appropriately.

2) Bulk load. Any time I can use one area/task to the maximum in terms of time used, I should. Starting is one of the hardest things to do, so if I have the ability to write four blog posts or code for 10 hours straight or research vehemently, I do so for as many tasks as I can, not just one. Break it down, then spread it out to as many other tasks as that one interface allows.

</comment><comment><USER8> I enabled OS X's Single Application Mode about three weeks ago and haven't switched back yet. The decision to try it was spurred by more time spent with an iPad. I also tried replacing the mode with Isolator on my work computer, which is looking promising for the more inter-application-focused workflow I need there.

It's amazing what a difference either of these approaches makes. Given that this movement is getting coverage in The Economist now, I almost expect Apple to implement something not entirely unlike Isolator for 10.7.

</comment><comment><USER9> My anti-distraction software: I type `sudo nano /etc/hosts` into bash and un- comment the domains that commonly distract me.

<comment><USER10> Why don't you have 2 hosts files and a small script to swap them over?

<comment><USER11> Go ahead, shave the yak! (This should not take long at all, but I wanted to make the point about taking time to make tools to help save time.)

</comment></comment></comment><comment><USER12> So the only answer to controlling ourselves is to hobble our equipment? I totally disagree. That's like saying the only way to quit drinking is to lock yourself in a room with no alcohol. Eventually you have to come out and face your problem. But I think it is more than a self control issue.

It's the bottleneck that forces us to make choices as to what we are doing at any given time and keeps us opening and closing applications or minimizing screens to fill the single desktop real estate.

Hardware needs to adapt to the amount of information out there and it hasn't. The single monitor desktop environment is 30 years old. Break that bottleneck and you will have more information under your control at any given time.

<comment><USER13> Kind of ironic you chose quitting alcohol as your comparison - locking people in a room is _exactly_ what many high-intensity anti-alcoholism/drug abuse programs do. You stay in there with nothing but food, water, and maybe some books until you've gotten through the cold sweats, the puking, and the other associated symptoms of withdrawal. Once your body has returned to a semblance of normalcy, you start treating the psychological addition issues - which is virtually impossible while drunk/high or while 'coming down'. So a period of cold turkey pain is some times necessary.

I don't know if that's the 'best' way to handle it (I'm not an addiction specialist, I just have many addicts in my family - 2 of which have gone through similar programs), but it is certainly effective. Both of the family members who went through such programs have been clean for >20 years afterward, after 15-20 years of abuse.

<comment><USER12> You countered with "So a period of cold turkey pain is some times necessary."

How does that apply to turning off your services? Doe one then seek counseling before turning them back on? Or in the case of the alcoholic, never turning them on again? Goodbye Twitter!

Maybe I made a bad analogy, my point was that information overload is more a general problem than addiction, another topic altogether. But in both cases, you still have to face your problem. Cold turnkey is only a temporary solution.

Avoiding distractions is not a physical addiction that one needs to go "cold turkey" with. If so, the user has bigger problems than information overload. Game addicts would fall into that category, not those following Twitter or any other real-time media.

I use several monitors and have dedicated my social media to only one of them and I removed the audible alerts which I never liked anyway. My work area always remains on the center monitor, whether I am reading an article, writing a proposal or the like. When I need to stop and catch up on my real-time media, it is always there to my left. I don't need to re-open any apps or log back into any services or un-hobble my network. That alone would take more time from my schedule than a little self control.

If we are talking about addicts, then this is another discussion altogether.

<comment><USER13> I don't disagree with you at all, and you raise a number of good points. I thought we were talking about addicts though - which is why I took it where I did.

</comment></comment></comment></comment><comment><USER14> This reminds me of an Idea I never got working. I want to set up a cron job to disable my internet from 7pm - 7am would any one be willing to help?

I posted the question on StackOverFlow [http://stackoverflow.com/questions/3027574/help-with- running...](http://stackoverflow.com/questions/3027574/help-with-running- crontab-from-root)

<comment><USER15> LeechBlock, an add-on for firefox, does exactly that.

<comment><USER16> No, that disables HTTP/S through Firefox. It will not disable your e-mail client, or your instant messengers, or anything else.

</comment></comment></comment><comment><USER17> This is probably the thesis behind this article:

<http://www.wired.com/magazine/2010/05/ff_nicholas_carr/2/>

Now try reading through this article without getting distracted.

</comment><comment><USER18> Unfortunately, the better the software is at disabling this or that, or cutting off the internet, the harder I will try to beat it. Just for fun, really.

It would be like an escape artist locking himself in a cleverly secured cell to make himself work on something.

</comment><comment><USER19> I use an excellent free chrome tool that disables my main productivity killers from 9-5 (hacker news, something awful, nytimes.com). It works for me.

<comment><USER2> What is it called?

<comment><USER20> I'm guessing StayFocusd. At any rate, that's what I use and it is good.

</comment></comment></comment><comment><USER21> In Linux, just switch to text console. :-)

<comment><USER10> links2</comment></comment>


Socialcam #1 - <AUTHOR> http://justinkan.com/socialcam-1

<comment><USER2> With all due respect to the socialcam team, I also think their viral growth is due to some underhanded techniques that they are using by posting, without user content, on news feeds.

Here is my post on HN regarding this:

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

Basically if you click on a social cam video on facebook, which takes you to social cams webapp to view the video, the video also gets added and shared to your newsfeed without user consent

I really really do not like apps using underhanded techniques to go forth with their viral agendas. If I really wanted to share this video, than I WOULD HAVE. That is what a like/share is, isn't it?

<comment><USER3> I really hate it when tools use such underhanded techniques, but I get it from a business point of view.

Especially social apps like SocialCam need to become the biggest network in their space to succeed in the end. Being number two in the social space is a far worse than in any other market because of network effects.

It's probably worth offending some users and even loosing some. Especially posting it on your wall, when you click on it, is something that most users don't care about. I've asked some of my not so tech-savy friends and they think it's totally okay.

Something that doesn't work at all is posting something without any action from the user or from a different source than their facebook timeline (for example from an mobile app) without their consent. This can kill your product and will upset nearly everybody.

<comment><USER2> But that is exactly what they are doing. All I did was click on the video posted, and that immediately posted on my feed, and people started commenting on it. No approval solicited.

Didn't Facebook recently warn apps from doing this? I thought chill (the turntable for video) got a slap on the wrist for doing something similar

<comment><USER4> The distinction, as I understand it, is the "voice" the app uses. Chill said something like "Hey I just joined Chill and it's pretty cool, you should check it out!" First person. Socialcam says "John Doe has watched Rick Roll Video." Third person.

<comment><USER5> Thats BS. It is malicious spam. There used to be vids that would pop up on walls and when you clicked them it would do the SAME thing as socialcam. Those were spam because they posted to you wall "girl on rollercoster has orgasm" or something stupid so that others would click and it would spread. Now "viral" has no meaning because it is forced upon the people. What if i thought the vid i watch premoted sexism and DID NOT want others to watch it? Well to bad, now even bad vids well go viral all you need is enough friends who have enough friend. Soon i wont even be able to use facebook for what it is good for, keeping in touch, and viewing the feeds that i have chosen to appear

</comment></comment></comment></comment></comment><comment><USER6> I was very impressed by these guys during YC. They already knew so much about video from working on it at Justin.TV (plus Michael already knew so much about being a CEO) that it was like watching an experienced pilot.

</comment><comment><USER7> I keep seeing these awkward auto-posts on Facebook from both Socialcam and Viddy, and as someone not seeking out a product like either of these, this is my only impression of these services. People in my social graph who clearly wouldn't want others seeing activity about the racy videos they've clicked on are getting wall posts like "Grandpa just watched 'Tiniest bikini' on Socialcam". Between the Facebook spam and the cliche "it's like [other service] for [slightly different usage]" make me much more skeptical than curious.

</comment><comment><USER8> I consider Socialcam a virus. No wonder it's spreading. On mobile I should not be forced to install an app just to watch a Facebook video.

</comment><comment><USER9> The amount of spam I see from apps like Socialcam and Viddy reminds me of the days of FarmVille spam. The problem is that this model is not sustainable. If you look at FarmVille's popularity (<http://www.google.com/trends/?q=farmville>), you can see that it peaks and then quickly drops. Whenever I see this type of growth I think of the quote "trick me once, shame on you. trick me twice, shame on me". When you have "artificial" traction on a network as large as facebook, you can use your momentum to get more and more users. However, to survive in the long term, your value proposition has to be great enough such that users forgive you for sneakily using their account to spam. This wasn't the case for FarmVille, and personally, I don't think it will be the case for either Socialcam or Viddy.

</comment><comment><USER10> Funny, I just blocked and removed this app on FB today after noticing they had posted to my wall about me watching a video. I have zero tolerance for spammy apps.

</comment><comment><USER11> This is the one thing I avoid on facebook all the time. It spams my newsfeed all the time, with a text like "michalel watched this video on socialcam." Pure Spam with no value. If you happen to click that link, socialcam will spam your friends wall by saying " tom watched this video on Socialcam."

</comment><comment><USER12> Socialcam's growth is fake! Aside from the already mentioned underhanded spamming. Their growth comes from non-Socialcam content. Most Socialcam video viewing I see among my Facebook friends are viral videos that are just uploaded from YouTube, etc.

</comment><comment><USER13> Impressive growth, albeit through less than amazing means. Instagram grew, but didn't require viewers to have any account or attachment to the platform / application. Socialcam / Viddy both grow _truly_ virally through Facebook in that it posts to your wall when a video is viewed. What _is_ interesting is the sociological side of things, which highlights what most people are actually interested in vs what they claim in reality.

</comment><comment><USER14> Bleh, Socialcam is viral spam.

</comment><comment><USER15> This is the stat that is actually impressive (both their mobile user count now and aggregated over time).

Previously, we had been seeing statistics about how many people are viewing their videos on Facebook. One problem with that they allow uploading any arbitrary video so, for example, their statistics include views of a "Dark Knight Rises" trailer.

</comment><comment><USER16> this is very impressive. i'm a little skeptical, however, whether this type of video sharing will get mainstream adoption (like, say, instagram).

people like 3 things re:pictures: 1) take them, 2) show them off, and 3) look at them. this has been true since way before the internet. the advent of the video camera on phones makes 1) happen, but i'm not sure about 2 or 3. for example, i'm seldom inclined to watch any socialcam video that shows up on my FB feed, but i click on pictures a lot more often than i don't.

<comment><USER17> I think your skepticism is correct if you go strictly follow logic along the "instagram for video" metaphor. Which is natural, everyone wants to make that corollary right now given Instagram's recent successes.

But I wonder if the metaphor is limiting. How about "Youtube for mobile"? As more and more media consumption happens in mobile, can't we expect consumers to extend their patience and habits for longer formats?

<comment><USER16> fair enough. on the other hand, i arrived at this by thinking about the role that pictures play in the lives of my friends & family, and my experience. not by analogy with instagram.

</comment></comment></comment><comment><USER18> Looks like "Instagram for video" is a two-horse race between Socialcam and Viddy (blurred out, but ranked #3 in that photo with 2800+ reviews and 4.5 stars).

I'm curious, what is Socialcam's strategy for winning this dogfight? It's going to be very interesting considering how it's a similar, winner-take-all market dynamic as Instagram, but with two legitimate contenders this late in the game.

<comment><USER19> Viddy also raise a lot of money recently: [http://www.sfgate.com/cgi- bin/article.cgi?f=/g/a/2012/04/27/...](http://www.sfgate.com/cgi- bin/article.cgi?f=/g/a/2012/04/27/businessinsiderviddy-series-b-2012-.DTL)

</comment></comment><comment><USER20> hey guys you raised your massive angel round, time to tune down on the Facebook spamming. And a little more classy champion wouldn't hurt either

</comment><comment><USER21> They are downloading copyrighted youtube videos, stripping everything youtube, and uploading them into socialcam. Either youtube will shut them down, or its going be a big mess for everyone.

Eg: [http://s3.amazonaws.com/com.socialcam.videos/yvideos/2012-5-...](http://s3.amazonaws.com/com.socialcam.videos/yvideos/2012-5-1/ew1uinkP.mp4)

[http://s3.amazonaws.com/com.socialcam.videos/yvideos/2012-5-...](http://s3.amazonaws.com/com.socialcam.videos/yvideos/2012-5-2/a93XOr9u.mp4)

</comment><comment><USER22> Instagram for video?</comment>


Show HN: A minimalist web server and non-blocking http library in python - <AUTHOR> https://github.com/iogf/rapidserv <comment><AUTHOR> What do you guys think of it being on top of untwisted?</comment>


Vim and I – A Love Story (2014) - <AUTHOR> http://schier.co/blog/2014/02/07/vim-and-i-a-love-story.html

<comment><USER2> "Don't fucking care how much you love Emacs, I love Vim and that's all that matters." I don't care if you are using vim or emacs, but you seemed to have the edge over others in notepad-based world.

</comment><comment><USER3> This blog(?) story(?) is awful :(</comment>


Ask HN: Learning Python? - <AUTHOR> I want to learn programming languages. I am new to programming. I want to build some web apps. I am starting with Python. What are best resources for learning? What are your best tips? Is there any roadmap to learn Python?
I am confused. Would appreciate your advice? <comment><USER2> For Python you could start with:

\- The Python Tutorial: [https://docs.python.org/3/tutorial/index.html](https://docs.python.org/3/tutorial/index.html)

\- Composing Programs: [http://composingprograms.com/](http://composingprograms.com/)

As an alternative to Python, you might enjoy learning to program with one of these books, all of which use a language in the Lisp family:

\- How to Design Programs: [http://www.htdp.org/](http://www.htdp.org/)

\- Land of Lisp (book)

\- Realm of Racket (book)

I'd say give HTDP a try and see if you enjoy it.

</comment><comment><USER3> How much do you already know?

Do you understand any basic concepts like variables or assignment?

If you don't understand any of the basics of programming you need to start there.

I definitely recommend starting small. A webapp with frameworks is not the way to learn. It will be overwhelming.

Some basic things to understand before starting a big project:

-variables and assignment

-types

-functions

-branching statements(if/else)

-loops and iteration(while/for)

-modules -classes

<comment><AUTHOR> Thanks for advice. I know nothing about programming. What are resources I can start with?

<comment><USER3> Well after a quick google search on the topics I listed:

Here's one for python:

[https://m.wikihow.com/Start-Programming-in- Python?amp=1](https://m.wikihow.com/Start-Programming-in-Python?amp=1)

\-----

[https://lifehacker.com/5736011/learn-how-to-code-part-i- vari...](https://lifehacker.com/5736011/learn-how-to-code-part-i-variables- and-basic-data-types)

[http://lifehacker.com/5742493/learn-to-code-part-ii- working-...](http://lifehacker.com/5742493/learn-to-code-part-ii-working-with- variables)

[http://lifehacker.com/5742494/learn-to-code-part-iii- arrays-...](http://lifehacker.com/5742494/learn-to-code-part-iii-arrays-and- logic-statements) [http://lifehacker.com/5742495/learn-to-code-part-iv- understa...](http://lifehacker.com/5742495/learn-to-code-part-iv- understanding-functions-and-making-a-guessing-game)

These are in JavaScript which may be helpful if you wish to build a webapp but the concepts are the same in any language.

These are the basics you need to learn. Start with the python one and work through until you understand each lesson completely. Then try changing some of the code from the lessons or making something similar and get it to work. After take a look through the JavaScript one so you can see the same concepts in a different syntax. Don't worry too much about it unless you want to learn JavaScript. This is just to help you recognize the things you learned in a different form to show they are universal concepts. Try and see if you can figure out how it's different or similar to python.

Keep looking through different beginner tutorials and writing small one file programs until you feel like you're not learning enough. Then move on to something a little bigger.

At the same time you may want to start looking into how web apps work. The difference between client and server side code. How the browser makes requests to the server to access your api. It's a fairly different process than standalone programs and if this is your ultimate goal you should begin looking into, at least a general idea, of how they work.

[https://www.quora.com/What-is-a-web-app-and-how-does-it- work...](https://www.quora.com/What-is-a-web-app-and-how-does-it-work-Please- explain-what-it-is-how-it-works-architecture-wise-and-whatever-else-you-think- is-important-and-in-which-way-it-is-different-than-the-previous-way-of-doing- things)

[https://selftaughtcoders.com/how-web-apps- work/](https://selftaughtcoders.com/how-web-apps-work/)</comment></comment></comment>


Ruby on WebAssembly - <AUTHOR> http://www.blacktm.com/blog/ruby-on-webassembly <comment><USER2> I hope we soon get Lisp on WebAssembly so we can run a full OS (emacs) in the browser.

<comment><USER3> We already have these two:

* Schism [0], R6RS Scheme.

* Arboreta [1], Common Lisp.

[0] [https://github.com/google/schism](https://github.com/google/schism)

[1] [https://github.com/Arboreta/arboreta- wasm](https://github.com/Arboreta/arboreta-wasm)

</comment></comment><comment><USER4> Just a thought experiment...

Would this allow for full stack ruby apps?

Writing a client side router and controllers in Ruby on Rails compiled to web assembly?

If you could just toggle in production.rb if you want your routing to be client side or server side and the framework could transparently manage that for you.

<comment><USER5> In theory you could already do this with Opal ([https://github.com/opal/opal](https://github.com/opal/opal)).

<comment><USER6> In practice too: [http://www.voltframework.com](http://www.voltframework.com)

<comment><USER7> Does not seem to be actively developed, however. Last commit was in early 2016: [https://github.com/voltrb/volt/](https://github.com/voltrb/volt/)

</comment></comment></comment></comment><comment><USER8> Why would someone go through so much trouble to use a language that will run much slower than JITed javascript?

I think most people miss that right now webasm is good for run speed, size, and loading speed, but is not geared nearly as much towards using any language in a web page, since IO needs to be exposed to javascript.

<comment><USER9> JavaScript isn't everyone's cup of tea, and performance isn't always a huge concern :)

The more other languages I learn, the more often I come back to Ruby. I'm excited to see it becoming a more portable language, and I think it'll make a good language for web clients someday.

<comment><USER10> > performance isn't always a huge concern :)

This is what concerns me a little with WASM. There are already too many web development experiences that prioritise developer experience and neglect user experience, I'm wondering what future we're walking into where we bundle three different standard libraries, ignore binary size, etc etc

<comment><USER11> I've never understood this take on things, though I'm ready to if it can be explained to me. :)

To me, it seems that the user experience vs dev experience trade off is subject to market forces and if it swings too wildly in either direction, a competitor will come through and wipe the floor with everyone else, no? It's always seemed unnecessary to me to worry about the effects of _more_ options, at least in the context of application development anyway.

</comment></comment></comment></comment><comment><USER12> Curious how fast/stable Ruby->wasm is on the frontend. I had a horrible experience with scaling a large rails app, but the usage patterns for server vs client are very different.

I haven't played with wasm yet and am waiting a bit for a "best language" consensus to emerge. If I was to bet on a winner, my money wouldn't be on Ruby, but I've been wrong many times.

</comment><comment><USER13> Mruby has captured my attention for quite a while now, especially the ability to compile and run its own bytecode as a module. The memory handling seems good and want to try running it with Cairo GL for iOS sometime for some immediate mode rendering.

</comment><comment><USER14> How would you use features like event listeners and other web APIs from client-side mruby? I guess this is a question about WebAssebly in general: does each language that gets ported over have to re-implement those APIs?

<comment><USER15> wasm has something akin to a syscall interface to talk to the JS side, but you can't just call arbitrary JS.

<comment><USER16> To clarify this a bit, webassembly modules declare external functions they'd like to call. When you instantiate the module, you hook JS functions up to those names. So, you can "call arbitrary JS" in the sense that there's no restrictions on what JS is in those functions, but you can't "call arbitrary JS" in the sense that the module has to list up-front what it'd like to call and it's the instantiator's job to provide those things or decide to not instantiate.

</comment></comment></comment><comment><USER17> Rubies magic evaporated when I realized that its logic is unintuitive / broken:

``` puts true and not true >>> true x = true and false >>> true if 0; puts 'true';end ```

breaking backwards compatibility with every rails upgrade didn't help.

Similar bad behaviour in kotlin

<comment><USER18> and/or/not have different precedence than &&/||/!.

The symbol versions of each of those would behave as you would expect. However, I can't say much in favor of the existence of the word forms.

<comment><USER6> The word forms are not operators, they're control flow, like "if"</comment></comment></comment>


Learn with Google AI - <AUTHOR> https://ai.google/education <comment><USER2> Quite obviously Google is investing to push tensor flow to mass audience.

As an ML programmer with deep aversion to Google products I have never jumped from Apache spark, deeplearning4j to tensor flow.

What's the general consensus regarding tensor flow in the ML community?

<comment><USER3> Tensorflow has a great model deployment story compared to alternatives like pytorch. However, pytorch tends to be more convenient when researching new techniques and architectures.</comment></comment>


Free Books for Machine Learning and Data Science - <AUTHOR> http://www.kdnuggets.com/2017/04/10-free-must-read-books-machine-learning-data-science.html <comment><USER2> I highly recommend Goodfellow et al.'s deep learning book: [http://www.deeplearningbook.org/](http://www.deeplearningbook.org/)

Part 1 of the book has a nice introduction to machine learning concepts so it makes the book accessible even for people new to the field.</comment>


Ask HN: Best online resources to learn about Bitcoin/Cryptocurrency? - <AUTHOR> Over this Thanksgiving holiday weekend, I wanted to provide my Dad (a retired banker) with some online links to learn about Bitcoin and cryptocurrency.
I, myself, don't know much about Bitcoin nor cryptocurrency, so I would like to read the material, too.
Where would someone start - what are good online resources that give a good introductory explanation of what it is, as well as the deeper details of it, if, say, someone was thinking about making a sizable investment in it and wanted to have a thorough understanding of it all?
It always seems to me there's a lot of people on HN that are quite knowledgeable about this stuff, so I just thought I'd ask here.
Thanks and Happy Thanksgiving to you all. <comment><USER2> [https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&c...](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwi34tv- mtXXAhUhi1QKHR8QADEQFggoMAA&url=https%3A%2F%2Fmedium.com%2F%40shiyan%2Fbitcoin- in-comic-ded553a57dfb&usg=AOvVaw27gfjBApkdKxVotQEgiV9R)

[https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&c...](https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0ahUKEwjjqP6Rm9XXAhXGupQKHfdDBpcQFgg0MAI&url=https%3A%2F%2Fmedium.com%2F%40shiyan%2Fhow- i-usually-explain- cryptocurrency-1d06d1a46980&usg=AOvVaw11ao3NHYkSA0PgsbjOmFfx)

</comment><comment><USER3> This thread has it all...

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

My personal favorite?

[https://github.com/xel/Blockchain-Stuff](https://github.com/xel/Blockchain- Stuff)

</comment><comment><USER4> [http://chimera.labs.oreilly.com/books/1234000001802/index.ht...](http://chimera.labs.oreilly.com/books/1234000001802/index.html)

Mastering bitcoin is the most recommended book on the topic and it's (mostly) open source.

</comment><comment><USER5> For a high-level introduction, this article in The Economist is where I'd advise someone to start: [http://www.economist.com/bitcoinexplained](http://www.economist.com/bitcoinexplained)

Then, to make things feel more grounded, watch this video of a maths teacher walking you through the mechanics of what actually happens. He starts with "four friends who sometimes spot each other $5 for lunch" and then builds from there with great visuals, so it is quite accessible. [https://www.youtube.com/watch?v=bBC- nXj3Ng4](https://www.youtube.com/watch?v=bBC-nXj3Ng4)

</comment><comment><USER6> This covers bitcoin from total beginner to expert level (technology, mining, trading...): [http://lopp.net/bitcoin.html](http://lopp.net/bitcoin.html)</comment>


Xkcd's mindboggling April Fools comic - <AUTHOR> http://www.reddit.com/r/comics/comments/rnpiw/mindboggling_xkcd_april_fools_comic/ <comment><AUTHOR> I fired up Chrome's dev tools to figure out how it works.

The JS that's doing the work is at <http://imgs.xkcd.com/static/waldo.js>. On page load, it sends a GET request to <http://umwelt.xkcd.com/story/ghenkEggov8> with params w for the browser width in pixels, h for the height and r with the referrer. The rest of the qualifiers (geoloc and browser (user-agent)) can be determined on the server- side.

As a response, you get back JSON with the alt-text, image URL, and positioning info, which is then used to fetch and position the image.

Fun fact: the server-side is written in Haskell:

      $ wget -S http://umwelt.xkcd.com/story/ghenkEggov8
      --2012-04-01 11:26:41--      http://umwelt.xkcd.com/story/ghenkEggov8
      Resolving umwelt.xkcd.com... 126.96.36.199
      Connecting to umwelt.xkcd.com|18.104.22.168|:80...  connected.
      HTTP request sent, awaiting response...
        HTTP/1.1 200 OK
        Server: Warp/22.214.171.124
        Content-Type: application/javascript
        Access-Control-Allow-Origin: *
        Transfer-Encoding: chunked
        Connection: close

<http://hackage.haskell.org/package/warp/>

Well done Randall and davean.

</comment><comment><USER2> The thread on xkcd forums has screenshots of a lot of the different comics. It's crazy how many variations there are. The one in hebrew (for those in Israel) makes me think people will be finding new ones for quite a while.

[http://forums.xkcd.com/viewtopic.php?f=7&t=82442&sta...](http://forums.xkcd.com/viewtopic.php?f=7&t=82442&start=1)

</comment><comment><USER3> Here's a direct link for anyone who hasn't seen the comic yet. Try it on your mobile network and on different browsers

Valid for today: <http://xkcd.com/>

<comment><USER4> At least from Finland and using Chrome, following the above leads me to this version, which I've not seen noted elsewhere -- is it specific to Hacker News?

[http://imgs.xkcd.com/a1panels/4444e5d258b5f12b41350ed2c550e3...](http://imgs.xkcd.com/a1panels/4444e5d258b5f12b41350ed2c550e32501eb4269412603a0a250123d211d29e3.png)

<comment><USER5> I see the same in California on Chrome and Firefox when coming from HN.

</comment></comment></comment><comment><USER6> The amount of preparation work that must have gone into this is admirable. There are so many variations!

</comment><comment><USER7> It's quite an impressive effort. Works on user-agent, referer, or geolocation (or possibly a mix)

<comment><USER8> Also, browser window width.

</comment></comment><comment><USER9> I hit it from one of our EC2 boxen and got this: [https://skitch.com/constantinexvi/8q5k9/skitched-20120401-14...](https://skitch.com/constantinexvi/8q5k9/skitched-20120401-145317)

And oddly, got the Jersey comic from my Dallas-based Linode <https://skitch.com/constantinexvi/8q5m2/xkcd-umwelt-chromium>

</comment><comment><USER10> Tried Opera and Safari on the Mac and got a broken plugin graphic with "There does not exist - nor could their ever exist - a plugin capable of displaying this content"

alt text is "Umwelt is the idea that because their senses pick up on different things, different animals in the same ecosystem actually inhabit very different worlds."

</comment><comment><USER11> Reddit seems to have a near complete overview already: [http://www.reddit.com/r/comics/comments/rnpiw/mindboggling_x...](http://www.reddit.com/r/comics/comments/rnpiw/mindboggling_xkcd_april_fools_comic/)

My favorite most definitely is the military one: [http://imgs.xkcd.com/a1panels/961f9f87076b08c0d29f9182d6e1b3...](http://imgs.xkcd.com/a1panels/961f9f87076b08c0d29f9182d6e1b370a059ddc1f4bacc246bb850fdcb174e44.png)

</comment><comment><USER12> I got the snake one, which changes as I resize the browser window. I was pleased to see somewhere along the snake was the elephant it had eaten.

<comment><USER13> I started ready The Little Prince earlier this morning for the first time. The snake + elephant were in the first version of the comic that I saw. My mind was surely the most boggled of any visitor.

</comment></comment><comment><USER14> Surprised there's no Wikipedia addition to Umwelt after today's xkcd. Or maybe there is but I just don't see it.

<comment><USER15> I See (Or perhaps a different sense) what you did there.

</comment></comment><comment><USER16> This guy's dedication continues to astound me.

Apparently he's still changing things - people who complain on the forum thread have noticed a few hours later that relevant fixed have been made.

(Also, I wonder how much was done by rpm and how much by davean.)

</comment><comment><USER8> It's fantastic, and I enjoyed the different combinations. But I don't really _get_ the one I get, the white disk on black thing. White light at the end of the tunnel? The alt-text doesn't really help me, either.

<comment><USER17> Yeah, that's the only one I can get too, with either of my regular browsers and no matter who the referrer is. No clue.

<comment><USER18> Probably the default.

</comment></comment></comment><comment><USER18> This should be an exhibit in a museum of modern art.

It gives people a taste of the "post-PC" world we are evolving towards. And there are some deeper stuff, too.

<comment><USER19> I would certainly count this as a great piece of art, not modern, not post- modern, just current.

Well done XKCD guys (and gals).

</comment></comment><comment><USER20> LOL I'm using gogo inflight and it gave me a comic about Chicago.. Seems a couple dynamic frames or static based on geoip?

<comment><USER20> View source you can see each panel is a different frame and a little note in the source:

title="Umwelt is the idea that because their senses pick up on different things, different animals in the same ecosystem actually live in very different worlds. Everything about you shapes the world you inhabit--from your ideology to your glasses prescription to your web browser."

<comment><USER21> Also known as the mouse-over text

</comment></comment></comment><comment><USER22> Is the IE9 version supposed to be a light at the end of a tunnel?

<comment><USER23> Safari seems to get the same thing, so probably not. When I saw it the phrase that came to mind was "cosmic sphincter".</comment></comment>


Parallel and Distributed Algorithms (come on, food is finer and life is better) - <AUTHOR> http://didawiki.cli.di.unipi.it/doku.php/magistraleinformaticanetworking/alp/alp1011/start

<comment><USER2> pretty good notes by Santoro, also see

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

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

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


Using a Square Reader with a reel-to-reel - <AUTHOR> http://evanlong.info/projects/reeltoreel/

<comment><USER2> Square says (<https://squareup.com/reader>): "Square is PCI-DSS Level 1 compliant and the Square Card Reader is fully encrypted. Data encryption occurs at the moment of the credit card swipe" and has an image of the reader with 'Security Encryption' pointing to the reader itself (see the page).

On the detail page about security (<https://help.squareup.com/customer/portal/articles/7764>) it says: "Fully encrypted: Square performs data encryption within the card reader at the moment of swipe."

Yet, the app in this article appears to be simply recording audio from the head.

So, what's going on?

<comment> void-star The reader used in this video an older model. See [http://venturebeat.com/2012/03/26/square-adds-encryption- to-...](http://venturebeat.com/2012/03/26/square-adds-encryption-to-its- square-reader/)

<comment><USER3> The new readers are black, the old (unencrypted ones) are white. There was a presentation at BlackHat 2011 on how to use them as general purpose skimmers: [http://www.engadget.com/2011/08/05/square-found-to-be- ripe-f...](http://www.engadget.com/2011/08/05/square-found-to-be-ripe-for- fraud-turned-into-card-skimmer/)

<comment><USER4> The new readers are also white. Look very similar to the old ones but slightly thicker.

<comment><USER3> Well, I do own a black reader, so perhaps Square moved back to using white at some point. But there have been white readers unable to encrypt the data out 'in the wild', and I suspect this project used one of those.

</comment></comment></comment></comment></comment><comment><USER5> I remember putting together a mag-stripe reader with old tape heads based on schematics/code in Phrack (or maybe 2600...been awhile). At the time, tape decks were found in almost every home, while (to me) a mag-stripe reader was exoctic. Seems we've come full circle. Actually IIRC the older Square reader (which seems to be the one in the video) is literally a tape head wired to a 1/8 jack aligned to read track 2.

</comment><comment><USER6> A few years ago I built a small circuit with a few low noise opamps attached to the reading head of an old reel-to-reel broken player, which had a few burned tubes. I used it to extract recordings from my family made in the 60's and converted them to wav/mp3/ogg. The result was fairly good, considering the age of the reels and no particular care was taken to preserve them!

</comment><comment><USER7> EDIT: Sorry, this sounds unduly negative. It isn't meant to!

It's cool and everything, but I can't help thinking that dragging an electrical output from after the real reel-to-reel head would have been better.

Is that just me?

Anyway, now you've done it you can make neat echo / loop effects by splicing tape around some reels.

</comment><comment><USER8> That is an awesome hack! Kudos to you. It's one of those things that initially sound too hard to believe, but then you think about it and go oh yeah.... why not?

Brilliant! Very well done.

</comment><comment><USER9> Should have called it reel-to-real.</comment>


Sony Releases Google Glass Alternative - <AUTHOR> http://www.pcmag.com/article2/0,2817,2476892,00.asp

<comment><USER2> So bulky glasses with dongles attached to them is our future? :)

<comment><USER3> first images and I was wondering, did they not look at Google Glass? This is like walkman bulk versus iPod</comment></comment>


Steinway's 600,000th piano, the Fibonacci - <AUTHOR> http://www.steinway.com/news/press-releases/steinway-sons-marks-a-historic-milestone-with-the-unveiling-of-the-companys-600000th-piano/

<comment><USER2> If you're in NYC I highly recommend the tour of the Steinway factory in Queens. You need to make reservations months in advance. It was an absolutely amazing to see the entire process from start to finish. The tooling involved in piano making is unlike anything I'd ever seen.

<comment><USER3> But skip their Manhattan showroom if you'd like to maintain any respect for the brand. The sales staff was obnoxious enough to make me walk out, checkbook in hand, over to the Bösendorfer store.

</comment></comment><comment><USER4> In 2013, PBS broadcast a show titled Note By Note: The Making of Steinway L1037 which followed the construction of one of these grand pianos from the selection of materials to the final tunings. The skills required in the construction are very diverse and Steinway has employees who've been doing this work for decades. It is highly precise work. As has been said before, any one can chisel away wood; its knowing what wood needs to be removed that matters.

<comment><USER5> [http://www.pbs.org/program/note-by-note/](http://www.pbs.org/program/note-by- note/)

</comment></comment><comment><USER6> "As I considered the number 600,000, the Fibonacci spiral came to mind."

Maybe I took this too literally, but 600,000 isn't a fibonacci number, and neither are 6, 60, or 600. Anyone have a better read on what he means by this?

<comment><USER7> Maybe he's looking at the number 6 and seeing a spiral?

<comment><USER8> Looks that way to me. If you take that picture of the piano and rotate it, it looks like a big number 6: [http://i.imgur.com/YnuV0YY.jpg](http://i.imgur.com/YnuV0YY.jpg)

<comment><USER9> Add the five circles to it in the spiral and you get 6OOOOO.

</comment></comment></comment></comment><comment><USER10> To me, this is the worst kind of "design". The article only talks about decoration. No mention of music or how the object will be used, whatsoever. Just how fancy the inlays are. </grumpy interaction designer>

<comment><USER11> Focusing on the details that differentiate it from a "standard" model seems reasonable. We all agree that it is a piano, and as such is capable of being played to make music. What, specifically, were you hoping for here?

<comment><USER12> Agreed. My guess is they didn't really do anything different internally. Aside from speaking subjectively about stuff like its particular timbre which may be affected by the type of wood used, but wouldn't be that insightful to just read IMO, there's not much else to mention aside from cosmetics.

<comment><USER11> Pretty much. They could have replaced all of the text with: "Piano, now with 5000% more bling. Because 600,000th." and then added like 50 more pictures to the page. That would have been ok in my book. Perhaps I spend too much time on Reddit.

</comment></comment></comment></comment><comment><USER13> Maybe should have had more than one small photo...

<comment><USER9> True. Here are more photos: [http://www.classicfm.com/instruments/piano/steinway- fibonacc...](http://www.classicfm.com/instruments/piano/steinway-fibonacci/)

</comment></comment><comment><USER14> Google cache: [http://webcache.googleusercontent.com/search?q=cache:NRjch1b...](http://webcache.googleusercontent.com/search?q=cache:NRjch1bJp44J:www.steinway.com/news/press- releases/steinway-sons-marks-a-historic-milestone-with-the-unveiling-of-the- companys-600000th-piano/+&cd=1&hl=en&ct=clnk&gl=ua)

</comment><comment><USER15> Its sad to see that the piano is dying culturally. If i believe a dealer I met just 6 months ago, Steinway makes less than 500 a year. Its a dying form and its going the way of the dodo bird.

<comment><USER16> How long does a piano last? Surely the market is saturated at some point, especially for extremely expensive pianos like these.

<comment><USER17> It depends on how much it's played. A Steinway in your home is likely to last a lifetime or more. The Steinway in the recital hall at our school is between 20 and 30 years old (I think), and well past its prime. It's played (hard) probably 4-6 hours a day, and eventually they just wear out. It would make a fine piano for someone's house, but it's no longer a performance-quality instrument. (Our own personal piano is a pre-WWII instrument, a 5'9" Knabe with ivory keys. It's been rebuilt once, and is a little...quirky, and could probably do with another rebuilding. It was also a very good deal for two just-out-of-grad-school musicians.)

Some music schools have contracts with Steinway where they get all-new instruments every year, which are sold back to Steinway at the end of the year who sells them as used instruments. I'd imagine (but have no evidence) that music schools in general are one of the largest consumers of pianos. At our undergrad institution of ~200 majors, we have probably 30-40 pianos in the building. My graduate school probably had upwards of 200, and employed 3 full- time piano technicians to maintain them.

<comment><USER18> My gf's Steinway is nearly a hundred years old. If they're refurbished every 30-40 years or so and kept in conditions that make sure the frame/case don't warp or crack, they can last indefinitely.

It's relatively trivial to do a minor refurb to replace and realign hammers/felts, rather more expensive to replace the tunings pegs and strings, quite a big deal to do all the above and replace the soundboard too.

Gf's instrument is getting near to needing a complete rebuild, which we're estimating will cost around £6k and take a few months.

I can appreciate the interest in digital instruments, but nothing sounds close to the sonic richness, weight, projection, and detail of the real thing. You certainly can't play classical piano music on a sampled keyboard and have it fill a concert hall the way you can with a Steinway Model D.

<comment><USER19> The same thing has happened with pipe organs. There, the cost of a physical instrument is much larger—modest instruments are well over six figures, with many instruments reaching $1 million. Digital organs have found a place in many venues—especially those, such as concert halls, that only use them infrequently. However, there is still a thriving community of builders churning out new pipe organs, and a bank of speakers still can't match the power of thousands of individual pipes.

I saw an organ in the Netherlands that dates to the 1700's, and has been played by many legendary composers (including Haydn and Mozart, IIRC). While it's obviously seen continuous maintenance, it's still playable and used for performances today.

</comment></comment></comment></comment></comment><comment><USER20> Is there a Kickstarter ?

</comment><comment><USER21> With a european (or at least german) IP address this redirects to "[http://eu.steinway.com/de/"](http://eu.steinway.com/de/").

"[http://eu.steinway.com/de/news- events/pressemitteilungen/ste...](http://eu.steinway.com/de/news- events/pressemitteilungen/steinway-sons-600000-fluegel-fibonacci/") would be the link for Germany.

Edit:

Spanish: "[http://eu.steinway.com/es/noticias-y-eventos/notas-de- prensa...](http://eu.steinway.com/es/noticias-y-eventos/notas-de- prensa/steinway-sons-600000th-piano-fibonacci/")

French: [http://eu.steinway.com/fr/nouveautes/communiques-de- presse/s...](http://eu.steinway.com/fr/nouveautes/communiques-de- presse/steinway-sons-600000th-piano-fibonacci/)

Italian: [http://eu.steinway.com/it/notizie-eventi/comunicati- stampa/s...](http://eu.steinway.com/it/notizie-eventi/comunicati- stampa/steinway-sons-600000th-piano-fibonacci/)

Russian: [http://eu.steinway.com/ru/novosti-i-sobytija/press- relizy/st...](http://eu.steinway.com/ru/novosti-i-sobytija/press- relizy/steinway-sons-600000th-piano-fibonacci/)

<comment><USER9> ...and English: [http://eu.steinway.com/en/news-events/press- releases/steinwa...](http://eu.steinway.com/en/news-events/press- releases/steinway-sons-600000th-piano-fibonacci/)

<comment><USER22> Thanks, after opening the link in the tile I was pretty confused.</comment></comment></comment>


Show HN: I just open sourced Muxamp, a streaming media playlist in Node.js - <AUTHOR> https://github.com/fruchtose/muxamp Hey HN! I've been working on Muxamp for over a year now, and I decided that there's no point in keeping the source closed. (I never planned on making money from it.) I've learned a lot since I started, and I hope others can benefit from its release--and perhaps teach me a thing or two as well :) <comment><AUTHOR> Hey HN! I've been working on Muxamp for over a year now, and I decided that there's no point in keeping the source closed. (I never planned on making money from it.) I've learned a lot since I started, and I hope others can benefit from its release--and perhaps teach me a thing or two as well :)

</comment><comment><USER2> why was the op's comment killed?

</comment><comment><USER3> Thank you for the source!!</comment>


Ask HN: CS job in environmental movement? - <AUTHOR> I just graduated college and am looking for a Computer science job that is involved with the environment.
Any ideas of certain companies I should apply for or a great resource to use to apply for jobs in this field? <comment><USER2> Try looking for developer jobs involving GIS, which seems to be part of a lot of environmental related stuff. If you can do e.g. the Penn State online course that's an introduction to GIS, that might help you get a feel for the field too.</comment>


Ask HN: Is it technically possible to create Log Me Out for 3rd party services? - <AUTHOR> I have a very important project to finish and for the next 4 hours I would like to focus on it. For the next 4 hours, I would like to be logged out from Facebook (for example) without the option to log in. Is it possible to create software that will keep me logged out from Facebook for a scheduled amount of time? <comment><USER2> The Self Control app works well (for Mac) [https://selfcontrolapp.com/](https://selfcontrolapp.com/)

<comment><AUTHOR> Thank you! This is exactly what I'm looking for. Versions for Windows and Linux [https://github.com/SelfControlApp/selfcontrol/wiki/FAQ](https://github.com/SelfControlApp/selfcontrol/wiki/FAQ)

</comment></comment><comment><USER3> Is the problem notifications? Can't you just turn off the phone and set your computer to not raise notifications?</comment>


Home - <AUTHOR> https://www.pencildrawingmadeeasy.com/ <comment><USER2> Nice drawings. I think it could get more traction here if you don't ask for the email to get the free chapter.

My guess is that the first part is not so secret to be necessary to keep it locked. Perhaps you can make it 100% free and even available in Youtube, ask an email for the second chapter and ask for money for the rest.

Also, try to use a more relevant title here like "Learn pencil drawing the easy way".</comment>


Absorbing commit changes in Mercurial 4.8 - <AUTHOR> https://gregoryszorc.com/blog/2018/11/05/absorbing-commit-changes-in-mercurial-4.8/ <comment><USER2> I wanted to know if anything like this exists for git (apart from manually doing commit --fixup/rebase -i --autosquash) -- and a quick search found this: [https://github.com/tummychow/git-absorb](https://github.com/tummychow/git- absorb) !</comment>


Intel Anti-Theft, A Big No-No - <AUTHOR> http://vis-ph.com/2013/07/12/intel-anti-theft-a-big-no-no/

<comment><USER2> Preinstalled McAfee crapware, what did you expect? I understand manufacturers get some money for putting that shit on the computer before they sell it, but it really diminishes the value of their product.</comment>


Show HN: A Cloudflare app for sharing product announcements - <AUTHOR> https://contentshowcase.app/ <comment><AUTHOR> Hi there!

Last year I launched Noticeable (noticeable.io). Although successful, it was noticed that some people have simple needs that a nice and customizable popup can fit. That's how Content Showcase, which is an experiment, is born.

What does this app brings compared to existing ones:

\- Unlimited impressions

\- No code required, even for the installation

\- Highly customizable

\- Google Analytics integration

\- Fair pricing

Your feedback is welcome!

<comment><USER2> I just looked at Noticeable.io - does it integrated with Github pushes? How is this different from just publishing to our Wordpress site?

<comment><AUTHOR> Thanks for your question.

Noticeable integrates with Github via Zapier. You can create a Zap on Zapier that listens for your Github pushes and publish a new post in a Noticeable project.

Using Noticeable has multiple benefits over a Wordpress site: people can react to your publications with emoji or hidden comments. In addition, you get analytics per post and a trend at the project level.

Besides, Noticeable allows managing accesses to your collaborators, scheduling posts, collecting emails from subscribers interested by your updates but also to make announcements available in the right context on your pages via a nice and customizable widget.

There are other features such as publication segmentation and IP access control but the benefits of such features depend on your use-case.</comment></comment></comment>


Groupon Slashing Online Ad Spending in Q3 - <AUTHOR> http://blog.mixrank.com/new-data-groupon-slashing-online-ad-spending

<comment><USER2> Groupon has simply gotten big enough they don't have to advertise as aggressively, especially in search advertising. Their partnership with AdParlor via Facebook is also running very strong.

Groupon all along has been bringing in substantial cash but also spending a huge amount towards marketing. They've saturated their markets in the US. They can now drop that marketing budget and see massive profits in their US business.

<comment><USER3> That would be like saying "since everybody already knows about Apple and their products and they are bringing in substantial cash, they can cut their spending." But instead, Apple has been increasing their ad spending as revenue has gone up <http://gw5.appleinsider.com/article/?id=14437> (bit old, but still holds).

Personally, I know that I only reach for a groupon or a coupon of any sort when it's shoved in my face. For them to make such a drastic shift amidst questionable profitability on exactly the first day of a new quarter makes me inclined to agree with the author and say that it's a strategic shift in direction.

</comment></comment><comment><USER4> They are testing their theory that their ad spending amounts to capex. will be very interesting to see what happens. if ad spending jumps back in Q4 or revenues plummet then its probably the final nail in the coffin for the IPO valuation. if not, then for the first time in a long while my expectations for groupon long term will tick up.

</comment><comment><USER5> I think it's just a change in strategy. Everyone I know who is a Groupon repeat user gets the emails and visits Groupon almost daily. The ROI they're getting from online ads is probably becoming marginal.

It wont solve the pathological customer issue, but that's the other weight on Groupon's back.

</comment><comment><USER6> Nice to see Groupon empathizing with its customers, who can't afford to spend 75% of marginal revenue on customer acquistion.</comment>


The Founder Institute – A Graduate's Firsthand Account - <AUTHOR> http://roachblog.com/2010/03/17/the-founder-institute-a-graduates-firsthand-account/

<comment><USER2> I was accepted in Paris FI program for this summer, however I didn't pay the fee yet because I was also invited for an interview at YC in 10 days. I must decide today if I enter the FI program or not, knowing that YC is clearly my best choice but I can't wait for their answer.

I could follow the FI program until May, however if (cross fingers) I'm accepted at YC I won't be able to follow the FI program until the end. I do have the 800$, do you think it's worth using it for at least 2 months at FI?

<comment><USER3> My first question would be why you consider YC to be your best choice. No offense intended to the host of this forum, but there's a lot of reasons that might not be true. Clearly YC gets better press, but as with FI it's not for everyone. A lot depends on the stage of your idea/company.

My gut reaction to the underlying question is that you should focus on figuring out which program is better for your situation and devote yourself to it. Having been through the FI experience I personally find the idea of using it as a fallback or filler a bit insulting, but Institute doesn't make that distinction.

<comment><USER2> Sorry, I didn't mean to offend you. But as you said yourself, just because I think YC is a better choice for me does not mean it's true, and it's certainly does not mean it is true for everyone and YC > FI. So I'm not sure why you feel this way...

Thanks for your advices, I will consider both programs carefully. One of the aspects which make me prefer YC so far (as an European) is the "Silicon Valley adventure", I just don't want to miss this chance :) So again I'm not saying YC is better than FI, I was just wondering if it's worth the money if I don't go to the end of the program. And honestly I think it is, I just wanted to have some input to assess my decision.

<comment><USER3> Not taking it personally, no worries. Just want to make sure the FI doesn't get disrespected. Realize I might not be in the right place for that though :)

I certainly don't understand YC as well as I do FI, but I would think a lot of it comes down to how far along you are with your company. FI might be more valuable if you're less advanced - have a great idea, maybe a prototype but not a ton else. YC is probably more suited for companies that are further along. YC grads can feel free to correct me on that.

Whichever you choose I'd make sure you really, fully, totally, unequivocally understand as much about the details of the program as you can. As others have mentioned here and elsewhere, there are bound to be surprises no matter which program you enter. The goal is to minimize the impact of those surprises.

<comment><USER4> _YC is probably more suited for companies that are further along._

No; we've funded groups that had been launched for a year and others that didn't even have an idea yet. Our threshold is simply whether the founders are ready to work full time on the company.

<comment><USER3> Thanks for the clarification pg.

I would think that it'd be pretty uncommon to be accepted at the pre-idea stage though, no? I mean, seed funding for literally nothing more than a good team is pretty tough to come by. For FI that's actually pretty common (at least in my experience).

<comment><USER4> It's quite common with us. A lot of the companies we fund do something different than they applied with.

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> I'm in the NY program, which is finishing up next week. I know a couple of others in the NY program lurk here as well. Feel free to hit me up if you have questions about Founder Institute.

</comment><comment><USER5> My background going into the program was purely technology based. I had a very limited view of what it actually took to start a company. When the program started I was so busy with development that the time spent in sessions seemed like a much bigger sacrifice than the $800.00.

Looking back I can firmly say I was clueless. As a sole founder I was constantly busy, but I wasn't focusing on what mattered. I was working in a vacuum with blinders on. Through direct interaction with dozens of successful CEOs I was able to start to see the forest through the trees. I'm now focusing on 1) the business development and partnership creation that my company needs to get off the ground 2) customer development to ensure that what I have built is a product that user's will buy (better late than never). Coding is how I procrastinate.

Also, the mentors are very accessible and willing to help. When I had a question about how to handle an investor I was able to shoot a couple emails off and get advice in less than an hour. I'm meeting two of the SD mentors for lunch next week.

Finally, I think the long term value is camaraderie with fellow founders. It's a great feeling to know a dozen other people you can talk to that are solving the same problems as you. I came out of the program with at least half a dozen super-meaningful connections. You can't put a price tag on that.

Every rose has its thorns. The institute was invaluable for me but I'd definitely say its not for everyone. Any description of this program and who it's for should contain a very clear statement of one fact that was NOT made perfectly clear at the beginning:

You must incorporate as a C or S corp during the term or they will ask you to leave the program. The pressure to incorporate starts about half way through, leading up to the "Incorporation" session. About a third of the class dropped out at this point either because they weren't ready or because they objected on philosophical grounds. FI is taking steps to make this clearer to new applicants but since this post didn't mention it I thought I'd tack it on.

There is a new session starting up in San Diego pretty soon. If you're serious about starting a company then you should definitely consider it.

<comment><USER3> With regards to incorporation, I would only say the word "pressure" (at least in NY) might be too strong. They put it out there and make it clear - incorporate or clear out of the way. But in no way do they force you to do something you don't think you're ready for.

As for awolf's statement that it wasn't clear that it was a requirement, it's obviously meaningless to refute that subjectively. I will say that there's an entire section in the Founder's Guide (which you have access to once you're accepted) covering incorporation. The very first line is:

"Forming a company before the end of the semester and issuing the Bonus Pool Warrant is required to graduate."

Granted, that section might have been edited mid-year, but I remember understanding the point clearly before entering, mostly because I had an LLC and knew I'd have to convert it. It might suffer a bit from being right after the "Fundraising" section, which I'll assume most founders fast-forward to and reread over and over :)

<comment><USER5> The main complaint many of my classmates had was that the guide said "before the end of the semester" yet we were told we needed to be incorporated one week after the Incorporation session (half way through) or we would have to step aside.

FI has been iterating their process as they go along. I'm glad to hear there wasn't confusion in the New York session.

<comment><USER3> I hear you. I'm also glad to hear they're tweaking the formula. I think we can agree it's not only fair but important to set the incorporation requirement a little earlier in the session.

From the Institute's perspective, there are some (although not many) who saw the program as an easy means to gain access to mentors and investors for little or no commitment on their part. As such, they have no intention of graduating. Forcing them to decide sooner weeds them out.

From the founder's perspective, those not planning on graduating detract from the overall experience because they're not contributing positively. In some cases they're actually they're making it difficult for others. In NY I found the program started to become more relevant to me as the less-committed and less-advanced founders started dropping out.

</comment></comment></comment></comment><comment><USER3> btw, my take on FI:

[http://www.nodroidsallowed.com/2010/03/02/tips-for-those- app...](http://www.nodroidsallowed.com/2010/03/02/tips-for-those-applying-to- founders-institute/)

</comment><comment><USER6> I did the Bay Area Winter 2009 program (although I dropped out halfway through for dayjob emergency; I may go back for Summer 2010).

FI is great for several reasons: 1) It focuses more on developing entrepreneurs, vs. necessarily companies. The requirement that you incorporate to graduate is kind of at odds with this, but definitely the curriculum for the first half of the program is compatible with coming up with an idea and launching it within the program. 2) It's compatible with having a day job during the program -- if you have good time management skills, you can keep the day job while attending FI, launching your company, and thus not have to worry about funding. This is a major differentiator vs. YC. 3) Some of the mentors (IMO Aaron Patzer, Jon Betts-Croix, Ram from A9, and some others) were fucking AMAZING. It's worth $600 just to see their sessions. 4) You have some chance of meeting great cofounders in the program -- I actually met a few people I'd be happy to work with, and have gone down the road to doing a startup with someone from the program.

For the ideal training to do a startup (other than JFDI), I'd do an entrepreneurship program in undergrad (e.g. MIT E-Club, 100k contest), then something like YC to build a product, and Founder Institute to learn about the nuts and bolts of running a company, possibly interspersed with time spent working at either startups or funded former-startups.

</comment><comment><USER7> As a Founder Institute 2009 inaugural graduate I share the same opinion as it was written here. With my strong technical background the training added most valuable information on how to build and run a start-up, which I thought I knew, but I had to learn that I actually missed a lot.

I agree that the course might not be for everyone depending on the business and strategy you try to establish. But anyone who intends to found a company and knows he needs to add on more knowledge in certain areas the training can help tremendously. You also gain a strong network.

But it does not come for free and the 4 months are a lot of work. Listening to these mentors and CEO's and understanding the stories why they were so successful helps you to use this information and apply on your own. On top you can get short advice from the mentor's which can be also highly valuable.

What I enjoy now most is the network of the other founders from our course. Founder Institute program was awesome.</comment>


Twitter admits hackers accessed DMs of dozens of high-profile accounts - <AUTHOR> https://techcrunch.com/2020/07/22/twitter-admits-hackers-accessed-dms-of-dozens-of-high-profile-accounts/ <comment><USER2> Almost definitely Geert Wilders being the elected official who had his DMs pilfered. He was definitely hacked at the time. [1]

[1] [https://www.dutchnews.nl/news/2020/07/twitter-account-of- gee...](https://www.dutchnews.nl/news/2020/07/twitter-account-of-geert- wilders-hacked/)

<comment><USER3> The Geert Wilders case seems unrelated to the "big" Twitter hack. Might have been regular phishing/SIM swap.

</comment></comment><comment><USER4> I suspect for a lot of people this will be of next to no consequence: I can't imagine Bill Gates has actually done all that much chatting in the DMs. But some might have. Elon Musk, perhaps?</comment>


Should Curve25519 keys be validated? - <AUTHOR> https://research.kudelskisecurity.com/2017/04/25/should-ecdh-keys-be-validated/ <comment><USER2> I disagree with the author.

>The first thing you learn in any infosec class is to reject invalid inputs, and check return values for errors, even if there's no obvious exploit in sight. Doing this is sometimes called "defense in depth" or "best practice".

Rejected invalid inputs is often a good idea, but it isn't defense in depth and it isn't automatically best practice. Always doing something because you "learned it an infosec class" is dogmatic.

>The point of Diffie-Hellman is that both key shares should equally contribute to the shared secret, so that the protocol doesn't allow key control, a desirable attribute of any authenticated key agreement protocol, as discussed in this MQV paper. If the protocol allows a peer to force the shared secret to be zero, or more generally to lie in a subgroup, then the said peer can surreptitiously weaken the protocol's security (objection: "but why would a peer be malicious?").

This point was refuted earlier in the article. "If a peer is malicious, than they can do much worse than sending invalid keys".

> It's costless: adding a zero check is ten lines of code tops, which is > unlikely to introduce new vulnerabilities nor to hurt performance.

Ten lines of code isn't costless, it is low cost. Even if it were costless, it would still be better to not do it unless there is a compelling reason to do it.

> It reduces the risk of non-obvious attacks. Take Signal's protocol, for > example. If Alice generates all-zero prekeys and identity key, and pushes > them to the Signal's servers, then all the peers who initiate a new session > with Alice will encrypt their first message with the same key, derived from > all-zero shared secrets—essentially, the first message will be in the clear > for an eavesdropper. Alice can deny being malicious, arguing that her PRNG > failed. That's just an example scenario—granted, far-fetched—but there might > be others, and checking for invalid keys is probably easier than proving > that they will never be exploited.

Not only is this not a "non-obvious attack", this is the only possible attack. The only thing that adding a check to prevent a zero key can do is prevent someone from using a zero key. By the way, this attack gains nothing. Any malicious user already has the ability to publicize any messages sent to them.

<comment><USER3> So, in one important vein, I would disagree, but I'm not sure how well it applies to this scenario -- if you are building a system based on deniable encryption, one example that totally falls apart if one party can prove that they have (forced) zero-keying I imagine would be in deniability, especially if part of the zero keying depends on unpredictability of the keyspace of more than one actor.

AKA, if the deniability of your protocol depends on the random keyspace of more than one actor, a vector that allows some actor to compress the space of permitted keys could allow an inference of more-likely potentially valid keys vs invalid keys, thus disproving or at least weakening the deniability of the protocol.

As for the malicious peer problem -- the malicious peer is the very model of state-sanctioned surveillance. I think it would be an exercise in willful blindness at the least to pretend that does not exist.

<comment><USER2> Deniable encryption refers to the ability hide encrypted data without an adversary being able to detect that there is encrypted data present. It generally refers to file system encryption. I'm not sure how it would even apply in a case where key exchange is used. Either way though, the attack still doesn't get anything. If someone is participating the key exchange, then they get access to the resulting key. They can publicize this key to do at least as much damage as zero-keying.

> As for the malicious peer problem -- the malicious peer is the very model of > state-sanctioned surveillance.

I'm really not sure what you mean by this. Some peers might be malicious, but this attack gains them nothing. This is true whether the peer is a state actor, or an 11 year old. Please try to have a basic understanding of what you are talking about before you accuse other people of engaging in willful blindness.</comment></comment></comment>


Show HN: Web DSP audio editor - <AUTHOR> https://dsp.audio/editor/ <comment><AUTHOR> Creator here, happy to answer any questions! Here's an example delay effect: [https://dsp.audio/editor/QbQuSG8sMKsMnrqgf7NB/1](https://dsp.audio/editor/QbQuSG8sMKsMnrqgf7NB/1) Please feel free to use the tool to prototype or show your creations around.

— Please note that the app runs only on Chrome > v66, for now, because Chrome is the only browser implementing the Audio Worklet[1] spec. Other browser will follow suit (hopefully) soon

[1] [https://developers.google.com/web/updates/2017/12/audio- work...](https://developers.google.com/web/updates/2017/12/audio-worklet)

<comment><USER2> Sorry for the dumb question as I'm not in the field, but is this meant for actual midi/audio in? I tried clicking the keys on the midi to no avail, so I would assume I would use this with an actual midi (or midi file)?

<comment><AUTHOR> Audio in is supported - it just uses your computer's audio in. Just press on the "Line In" checkbox on the left to allow your browser to access your audio. Alternatively, you can send a pre-set sample to the worklet by selecting it from the dropdown menu and pressing "Play"

Midi in is not supported yet, i.e. you can't press a key on your connected MIDI keyboard to send a MIDI message to the worklet yet. You can simulate it with the keyboard on the left. Quoting the Help page (accessible with the "?" button on the top right):

"The MIDI IN keyboard will send MIDI messages to the worklet's MessagePort. Messages are objects of the form {type: ['noteon' | 'noteoff'], value: { note, octave, midi, frequency } }"

Using physical MIDI controls will be supported in future releases, though.

<comment><USER3> Have you considered using Open Sound Control[0]? There is a nice JS package for it. I've put together a couple demo web apps using OSC as both client and server. Bonuses include that you get midi with it, it creates RESTful 2 way interfaces for your endpoints, can be shared over the internet (WebRTC), and it's universally easy to hook to other stuff! Also there is a FANTASTIC customizable interface app for iOS and Android called TouchOSC[1] that only costs $5. I use it for music and robotics.

[0] [https://github.com/colinbdclark/osc.js/](https://github.com/colinbdclark/osc.js/)

[1] [https://hexler.net/software/touchosc](https://hexler.net/software/touchosc)

BONUS OSC STUFF:

* [https://github.com/sebpiq/rhizome](https://github.com/sebpiq/rhizome)

* [https://github.com/attwad/python-osc](https://github.com/attwad/python-osc)

* [https://github.com/thomasfredericks/UnityOSC](https://github.com/thomasfredericks/UnityOSC)

* [https://github.com/automata/osc-web](https://github.com/automata/osc-web)

* [https://github.com/mhroth/tinyosc](https://github.com/mhroth/tinyosc)

<comment><USER4> shameless self-promotion: I work on a free software OSC sequencer: [https://ossia.io](https://ossia.io)

<comment><USER3> I have been looking for this for years. Awesome self promotion.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> Creator here - thanks for the feedback!

For anyone interested on the stack, the visual part is React / Redux SPA. I use Firebase's Firestore as a DB (I wanted to try it and so far it's really cool) and Google Cloud Functions for the APIs. The repo is hosted on Gitlab and is a Lerna monorepo, which is amazing.

<comment><USER5> Very cool! Is there a link to the repo? I didn't see one...

<comment><AUTHOR> It's a private repo; I will probably open parts of it in the future.

</comment></comment></comment><comment><USER6> This is great! I really hope developers keep pushing the webAudioApi. Its not hard to imagine serious browser based DAWs within 5yrs. I've been doing my webaudio experiments here: [http://treblemaker.ai](http://treblemaker.ai)

<comment><AUTHOR> That's _really_ good! I'll take a look as soon as I get home.

</comment></comment><comment><USER7> This is cool and looks promising! If you want some DSP functions in JS, I had made some[0] in the past. They're all MIT licensed and sometimes you would need to adapt the code a bit because of the imports and globals that are implicit as these were domain specific.

[0]: [https://github.com/opendsp](https://github.com/opendsp)

<comment><AUTHOR> That is a goldmine, thanks!!

<comment><USER7> Hey glad you like them! There are some more on my personal account you can browse from here[0]. Feel free to reuse/modify, all MIT.

[0]: [http://wavepot.com/stagas](http://wavepot.com/stagas)

</comment></comment></comment><comment><USER8> (Chrome only)

<comment><USER9> Yeah, 'It seems you're trying to run the editor with an old or unsupported browser' is kinda odd given it just runs on Chrome...

<comment><AUTHOR> As soon as browser support the standard, the message will be shown less and less. Chrome was an early adopter, but Audio Worklets are part of a W3C working draft, which is the de facto standard for web audio:

[https://www.w3.org/TR/webaudio/](https://www.w3.org/TR/webaudio/)

<comment><USER10> Qualifying browsers that don't follow an early adopter in implementing a working draft of being "old" is kind of odd and disparaging. A simple message like "Sadly your browser does not seem to support spec foo yet, but you can try one of those: browser X v>42, Y, Z".

<comment><USER11> There's an "or" in that sentence: "old _or_ unsupported browser"

<comment><USER12> The term unsupported browser sounds like it's intentionally only for Chrome.

<comment><AUTHOR> That's true, that's inaccurate. I'll change the message with the next deploy.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Looks great!

Any chance of adding a piano roll for playing short melodies(and perhaps chords with the proper processor)?

<comment><AUTHOR> Might be! I would also like to add MIDI files drag and drop, so that you can "play" your pre-made MIDIs. There are a lot of features I would like to add, and more support for MIDI is one of them.

</comment></comment><comment><USER14> You may like too this single file midi player that comes with a one line synthesizer

[https://github.com/aguaviva/SimpleMidi](https://github.com/aguaviva/SimpleMidi)

</comment><comment><USER15> This is great!

I especially like that you've included a share mechanism. I built an audio dsp playground before, but didn't spend enough time on it to provide that.

Are you going to add a discovery page to browse people's creations?

<comment><AUTHOR> Thanks! It's definitely a possibility, but first I would like to see how people use it. Not sure if it should be an hand picked mechanism (easy but time expensive) or an automatic one - people tag their creations, possibly vote them, and the most popular are shown (harder but once it's there it just works on its own)

</comment></comment><comment><USER16> Nice. The only thing I don't like about it is that its browser based, because - as a musician with a room full of hardware - its hard to get over the conclusion that browser-based music tools are simply not ready for production - i.e. I would never use this on stage or in the studio. Cute experiment though...

<comment><AUTHOR> I understand your point of view, although there are people I know who managed to run Web Audio API plugins as VSTs :)

This particular app is meant more as a playground / sketch / sharing tool for DSP techniques, and imho it makes sense for it to be on the most immediately accessible platform, the Web.

However, it's possible to add Faust or C support to it in the future (using WebAssembly), a feature which will allow exporting your snippets directly to executable / VST.

<comment><USER17> > run Web Audio API plugins as VSTs

Nice, I have thought about this before! Got a link?

<comment><AUTHOR> I don't have a public link to the method they used, but I heard of this technique on the Web Audio Slack channel, which you can join here: [https://web-audio.slack.com/](https://web-audio.slack.com/). Basically, as I understood it, they found a way to wrap the Chrome runtime in a VST plugin and load it in a DAW. I guess the process can be optimised, but I'm no browser internals expert. The community is quite friendly, so if you're interested you could join it and ask, I'm sure they'll be happy to share with you.

</comment></comment></comment></comment><comment><USER18> A sound engineering illiterate here. But, both the project and the new API from chrome looks like something very interesting that I'd not want to miss.

Can somebody ELI5 to me, what this is about? Or point me in the right direction perhaps.

<comment><AUTHOR> In short, Audio Worklet is a new API which allows you to write code to generate or modify an audio signal in real time. The key point is that it runs in a separate browser thread, i.e. it doesn't have to wait for the browser painting the screen or loading stuff from the network to do the calculations necessary to generate the audio signal. This allows much smoother and continuous sound, something that was not possible before. Worklets share the interface with normal audio nodes, which means that they can be connected with other nodes (such as pre-made sample players, oscillators, filters) and even microphone / line in inputs.

This application allows you to write, test and save / share them. The idea is to have an online playground to share DSP code, like a sort of JSFiddle, but for audio.

</comment></comment><comment><USER19> Doesn't seem to play on Android 6, Chrome.

<comment><AUTHOR> What did you do to try it? How does it fail?</comment></comment>