Ask HN: Review my startup, camonduty.com - <AUTHOR>

Cam On Duty is a service that allows you to transform ordinary webcam for example into a home monitoring center. To do it you don't  need to have complicated IT knowledge (everything is done automatically), additional hardware to store recordings or even a PC computer. Video live stream and recording are available from any part of the world thanks to cloud storage. This also makes recordings safe and available at any time. Our distinctive feature is support of PTZ (pan-tilt-zoom) cameras. This allows you to control remotely where the camera is directed and track objects in real time.<p>We are looking for feedback about the functionality and general usability of our web (camonduty.com) and iPhone app. Also every tip describing a way to improve our service would be much appreciated. <comment><USER2> The site looks good and I love the demo. I think it's gutsy that you guys have the demo cam showing yourself. It's definitely a refreshing idea.

I do notice a few small problems:

1) when you go to demo page and actually view the demo cam streaming the user information menu up top (Login/Register etc.) looks fine. But going from demo page to the home page once more somehow shows the menu as "logged in"--the menu says Logout, even though you shouldn't be logged in to see demo. In any case, it must be something to do with session or the simple loggedin/out logic.

2) In the demo page, dialog box on deleting cam or adding cam will actually be covered by flash. This is a pretty common issue and I believe the solution is to set the flash w-mode: opacity or something of that sort. It has been a while since I worked with drop down menu and flash :)

A suggestion: instead of control buttons of up/down/left/right-- you can definitely add immediate improvements to the experience in 2 levels: 1) bound the keyboard shortcut which should be quite simple. Just trigger the click even on the appropriate button. Don't forget to have a small delay so you don't crash the darn device

2) enable dragging of the video: I'm "thinking"... when the video is loaded, cover the video with a low opacity div (1px gif of 0 opacity?) then bound a mouse listener to the box. Again, you can move the cam according to the mouse movement by checking mousemove and then on delay trigger the click even on your already bound control button. In fact, the easiest would probably have 9 div arranged in this manner:

[1][2][3]

[4][5][6]

[7][8][9]

if mouseenter 5 do nothing... if mouse enters 1 trigger left+up button click, 9-down+right, 8-down and so on.

I hope this makes sense. I'm simply looking at the demo and assume the real experience is probably the same and could be improved.

Other than that, things look great. Best of luck to the team!

-V.

<comment><AUTHOR> Thank you for your comments!

Ad 1 & 2: we are working on it.

Ad PTZ control: we actually implemented "touch to rotate" feature in iPhone app (it should be available in App Store soon, we are waiting for review). Basically you tap the screen and camera centers itself to the point you tapped. It seems to be more intuitive than the click solution you proposed, but we would like to see iPhone users opinions first. Keyboard controllers seems to be a must have :)

<comment><AUTHOR> Ad 1. We used wmode = "transparent" and it works. Thanks again.

</comment></comment></comment><comment><USER3> Nice site and idea. My only criticism is that if you have a plan called "unlimited" it should be just that. Whilst the difference between unlimited and what you offer in you "unlimited" plan is very small, it would be enough to turn me away from the service. I believe for the small upgrade the "unlimited" plan needs to be unlimited it would be worth it. When I viewed the site there was only one cam live on the demo. Either all or none dude. There are a lot of services on the net now and the only ones that will survive are those that can achieve the extra %1 of polish. Great job guys.

<comment><AUTHOR> Thank you for your input! We are still tuning our business model and we totally agree with you about the naming problem here :) Still, you can enjoy free service till the end of July.

</comment></comment><comment><USER4> I liked the demo, but why do I need to purchase the specific webcam? Is there any plan to create a service that works with regular built-in (Macbook) webcams?

<comment><AUTHOR> Our core business is to allow user to install standalone IP camera without a need to leave his machine (without worrying about PC power consumption etc), we're aiming to match post-PC paradigm here :)

After all enabling PC built-in (or USB) cameras would be a nice to have feature and we're thinking about supporting standard webcams in the future.

</comment></comment><comment><USER5> Looks like you are only supporting 1 web-cam? I recently purchased a IP PTZ cam from fry's which came with its free Android, iPad and web based application.

How are you planning on competing with those?

<comment><AUTHOR> Yes, currently we're supporting only Foscam FI8918w IP camera. We're are working on supporting more, could you please share link to the camera you purchased so we could take a closer look? Thanks in advance.

About the software that comes with your camera; is it cloud based software? If not than you have to configure your router manually so you could access the camera when you are outside your network. For many non-technical people it could be the problem and Cam on Duty aims to solve that, enabling camera monitoring here is as easy as few iPhone taps :)

</comment></comment><comment><USER6> clickable <http://camonduty.com></comment>


GPG Suite 2018.4 adds a fee for encrypting and signing new mail - <AUTHOR> https://gpgtools.org/releases/gpgsuite/2018.4/release-notes.html <comment><USER2> I got hit by this. As soon as I reloaded Mail.app after installing the last update I was presented with two options, "Start trial" or "Buy now", neither of which I want. If they did mention mandatory registration in the release notes then they didn't make it clear enough.

I don't mind buying software that I use, but I completely object to having working software pulled out from under me like this.

</comment><comment><USER3> Nasty surprise this one. I don't mind paying for a good app, but for software that got lots of donations to keep it opensource: switching to CS with a €24 fee is really steep and feels like nothing but greed and screwing donators over.

</comment><comment><USER4> Well, even though I had it installed, I never really used it.

Does this change anything with GPG Keychain?

</comment><comment><USER5> this was an unfortunate surprise.</comment>


Ask HN: What Alternative to StackOverflow? - <AUTHOR> This question has been brought a few times before on HN, but I have found a satisfying answer yet.
What community do you recommend to post "complicated questions"?
For example, I just posted that:
https://stackoverflow.com/questions/63399940/how-to-tell-ssh-to-setuid-after-pam-and-not-before-to-remap-users
and I am being told this is not "SO material".
All my latest SO questions have been in the same "vein", more architecture and design questions than strictly code question.
I'd like a friendly community that can share experience and have healthy debates over tricky questions. <comment><USER2> I guess the main alternatives are:

1\. Working it out for yourself

2\. Reading a book

3\. Asking a friend

[EDIT] I'm not really joking, I started programming in the 80s as a kid reading stuff like this as the only book

[http://www.classiccmp.org/cini/pdf/Commodore/VIC-20%20User's...](http://www.classiccmp.org/cini/pdf/Commodore/VIC-20%20User's%20Manual.pdf)

Then when I started working mid-90s there were cases and cases of books about Oracle products, Reporting tools, Unix, Windows, and C and Visual Basic programming all around the office! Getting to know the people that could answer questions in real life or on the phone became pretty useful!

</comment><comment><USER3> I mean to be fair the user telling you the question is not SO material offered you two alternative communities to post the question in. Is there something lacking in those communities?

In general I've found there are specific discord/slack/whatever servers that are more open to discussion, I don't have one for networking stuff though.

<comment><AUTHOR> Yeah I realize my question might not be SO material, but it's also hard to put on another stack exchange site. Because the question has multiple parts, some about linux internals, some about programming, some about security…

That's what is hard, with experience I've come to have to resolve harder problems, but they are not harder because they require more skills, they are harder because they are 50 ways to approach them.

Finding WHAT I need to code has become my problem was more than HOW.

I'd like a community that can share those concerns.

</comment></comment><comment><USER4> I think the commenter to your question on SO is suggesting you use one of the other SO "sites" to post under, specifically [https://unix.stackexchange.com/](https://unix.stackexchange.com/) or [https://superuser.com/](https://superuser.com/) which are different categories of questions.

<comment><USER5> I'm not sure those sites are correct either, since it is a programming question, after all. Those other sites mainly focus on software usage and configuration.

</comment></comment><comment><USER6> If you're a programmer, you could download the source code to ssh, then modify and recompile it to implement the functionality you desire.

If you aren't, there are many places on the web where you can hire a programmer who can do that for you, most notably Elance, Freelancer, Guru, Upwork, and vWorker -- but there are others as well.

Also, see this post if you want to host your own StackOverflow-like Q&A site:

[https://meta.stackexchange.com/questions/2267/are-there- any-...](https://meta.stackexchange.com/questions/2267/are-there-any-clones- alternatives-for-running-a-stack-exchange-style-qa-site)

Also, see this other post:

"Ask HN: We need a better alternative for Q/A than stackoverflow"

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

Anyway, wishing you luck in your endeavors!

</comment><comment><USER7> I've found value in individual subreddits - like /r/reactjs for React questions. Common questions still get answered, unlike on SO.

</comment><comment><USER8> There's some alternatives within the Stackoverflow "network":

Maybe that question would have worked better on [https://serverfault.com](https://serverfault.com)

for more abstract software questions there is [https://softwareengineering.stackexchange.com/](https://softwareengineering.stackexchange.com/)

Otherwise, forums and other communities specific to technologies. E.g. a linux/unix admin group for your SSH/PAM question.

</comment><comment><USER9> If you can't find the answer with a search engine and your question is too specific for a Q&A site, dive into the source code.

<comment> non-entity that works unless the source is proprietary and non-accesible :(

</comment></comment><comment><USER10> Curious, so piggy backing to ask: does anyone use Spectrum in this way with success? I've looked around some communities out of curiosity but not yet engaged much.

I actually had a brief conversation on an open Telegram group about a software issue recently, and the developer replied within seconds. I suspect that Telegram isn't commonly used in this way, though.

</comment><comment><USER11> I've had good luck with language / tech specific IRC and Slack channels. Your mileage may vary.

</comment><comment><USER12> I have had success on reddit and slack and discord.

</comment><comment><USER13> Blogs or GitHub. If i can't find the soln then i can normally find the code or unit tests and solve problems from there

</comment><comment><USER14> try Quora?

</comment><comment><USER15> [https://www.experts-exchange.com/](https://www.experts-exchange.com/)

<comment><USER16> How is this site not a scam? Like experts aren't paid and everyone pays for access. How did it even get traction?

<comment><USER17> I think it might have been a joke. If I'm not wrong experts exchange was the go to site before SO because the replacement. So giving SE as the answer as an alternative is kind of funny. Maybe I'm killing the joke but hey.</comment></comment></comment>


Show HN: Our spinoff startup, WAYWT.com - <AUTHOR> http://waywt.com <comment><AUTHOR> Been working on this for a bit over 6 months. Its a spinoff of our main site, [http://everydaycarry.com](http://everydaycarry.com) which is a place where you can find what different people carry with them every day. We figured the format would work just as well for mens fashion.

</comment><comment><USER2> is it for men only? either way, cool I'm a fan of /r/edc</comment>


40% of Europe's artificial intelligence startups have no AI - <AUTHOR> https://www.ft.com/content/21b19010-3e9f-11e9-b896-fe36ec32aece <comment><USER2> I feel like this is the not so hidden dirty secret of AI startups today, it's more of an aspiration to use AI rather than what their product actually is (or maybe I'm jaded from my Silicon Valley days). But this seems like common practice with all startups of any sector, pretending to be bigger or more advanced than they are and using VC cash to fuel those dreams</comment>


WWI & WWII historical and educational flight simulator - <AUTHOR>

Hi guys, We are making a flight simulator that won't be the usual shoot-them-all. It will include actual real stories from WWI and WWII veterans. Their children and grandchildren wrote to us with them. The project is looking for funding, we made a short video and this is our first kickstarter campaign. We hope you like it and can help us out a bit to get the word out or with pledges :) http://www.kickstarter.com/projects/echoboomapps/dogfight-elite <comment><USER2> I am reminded of two games: Falcon [3.0] and Secret Weapons of the Luftwaffe. Each points to a different gameplay problem with combat flight simulation.

Falcon 3.0 was increasingly harder to fly as the simulation became more accurate. It's a fact. F-16's are hard to fly.

Many of SWotL's combat missions were long when flying from the allied side, even with time acceleration - it's a long way from England to Schweinfurt. Then it's a long way back.

A game needs to cut through the ordinariness of reality. Not simulate it.

Good Luck.

<http://en.wikipedia.org/wiki/Falcon_%28video_game_series%29>

<http://en.wikipedia.org/wiki/Secret_Weapons_of_the_Luftwaffe></comment>


Stockholm restaurant torched as riots spread - <AUTHOR> http://www.bbc.co.uk/news/world-europe-22636288 <comment><USER2> I refuse to care since the same political correctness that won't allow them to report this is in fact a Muslim riot... got them into this situation in the first place.

</comment><comment><USER3> This is yesterday's news

<comment><USER4> Completely unrelated to HN too. I guess the only reason it's being posted is because Americans are fascinated with Swedes.

/Swede</comment></comment>


EVs could be the opportunity of the century for utilities - <AUTHOR> http://www.utilitydive.com/news/the-100b-prize-why-evs-are-the-opportunity-of-the-century-for-utilities/416373/ <comment><USER2> I believe that this article considers electricity, gas and water as utility, but not utility computing. The business model might be a little different, but information and data processing are arguably utilities to me, in the form of Google Search, Facebook, Skype, Google Maps, GMail, etc. Soon, driving people around using self-driving cars will be an even more clear utility, and one in the very traditional sense.

Electric vehicle will be the utility of the 21st century, but not because of their power train, but because of the comfort of sleeping it off on your way back to home, being able to video-conference with your children on their way back from soccer practice (from anywhere), and never have to worry about parking.

<comment><USER3> If self-driving cars become anything like what armchair futurists are predicting within 10 years, I'll eat my hat. The on-demand car that picks you up and drives you around while you sleep is a long, long way away.

<comment><USER2> The car that I describe could be either yours or on-demand, possibly as a complement to you driving it yourself — just like using any of Google services is the main service for any of your own device. I predict that the service that Google or others might provide (mapping, avoiding congestion) will have a larger market growth than electricity consumption.

That is indeed a prediction for the next 84 years, so futurism, made from my armchair, but I don't think that many developers works without one (standing desk excluded) — so I'm a little confused: are you using that expression as a dismissive?</comment></comment></comment>


Panda Update: Google Lowers The Boom On eHow.com - <AUTHOR> http://searchengineland.com/google-lowers-boom-on-ehow-com-73327 <comment><USER2> This restores some of my faith in Google — I went crazy when Panda first hit trying to figure out how eHow escaped, and now it turns out that they didn't.</comment>


More trouble for Color: shareholders and board vote to wind down company - <AUTHOR> http://venturebeat.com/2012/10/17/more-trouble-for-color-shareholders-and-board-vote-to-wind-down-company/

<comment><USER2> How does:

 _A source within the company tells us that the company's shareholders and board last week voted to shut the company down._

Become, by the end of the article:

 _Color as a company still has plenty of cash in the bank, which means we're likely to see another product from it before long._

?

<comment><USER3> _Color as a company still has plenty of cash in the bank, which means we're likely to see another product from it before long._

Sounds like cluelessness on the part of the reporter: You don't have a board meeting involving the words "shut down" and then decide it was really "pivot" after the fact.

The money will first go to any bondholders/accounts-payable, then the remainder back to the investors.

</comment></comment><comment><USER4> I still remember when Google allegedly offered $200m for this business-less startup. I know I'm playing Monday morning QB, but to reject such offer simply demonstrates lack of economic judgement - both at the management and investor level (and a lucky strike for Google).

We tend to complain plenty about Wall Street's greed but this represents no different behaviour.

<comment><USER5> I think Google (or Facebook) would have done well with their technology and people. Color is a great feature, to paraphrase Steve Jobs. Though maybe not a $200m feature.

<comment><USER6> You can develop a-lot of features and hire some (a-lot of) pretty fucking good people for $200m

</comment></comment></comment><comment><USER7> As troubled as Color is, it represents the future direction of location data. No longer will location data be just for its own sake- apps that answer "Where am I?" "Where are you?" "Where's lunch?" It's evolving to be something bigger. The future is integrating it into new uses, to answer questions we haven't even asked yet. For some examples, see:

News.me and Instapaper - Sync your articles to your phone as you leave your house, so that when you're underground on the train, you have all your content right there

Now - Combs instagram for clustered activity in your area, and then notifies you of what's going on (i.e. movie in the park that people are enjoying)

Dark Sky - Alerts you when it is going to rain in your precise location, based on radar

Square - Automatically logs you in as soon as you arrive at the coffee shop or wherever

What it boils down to is location is automating various parts of user interface. Making your life better in the process. (this post a tldr version of [http://adage.com/article/special-report-digital- conference-s...](http://adage.com/article/special-report-digital-conference- san-francisco-2012/location-technology-change-publishing-pay-content/237443/))

<comment><USER8> > The future is integrating it into new uses, to answer questions we haven't > even asked yet.

Actually, I think that's the exact wrong lesson to take from this. That's what Color did: look for something that hasn't been done before and did that. It was a solution to a problem that doesn't exist: meeting strangers. People don't want to meet strangers, unless they're looking to hook up. That's why we construct amazing home entertainment systems; so we can avoid being around strangers. Ditto for Highlight and Airtime.

The takeaway from Color is not to go searching for the next big thing, but rather solve a problem that you yourself have (warning, you are probably not a normal person so don't spend too much time solving the problem before releasing something).

<comment><USER9> > Actually, I think that's the exact wrong lesson to take from this. That's > what Color did: look for something that hasn't been done before and did > that. It was a solution to a problem that doesn't exist: meeting strangers

Color has never been about meeting strangers. Never.

v1 of the application allowed people who happen to be at the same place at the same time to share photos (still a great idea in my opinion, imagine concerts or random birthday parties where you hardly know anyone but everybody is taking pictures).

v2 was about live broadcasting (interesting tech but uninteresting product).

<comment><USER8> Your description of v1 sounds exactly like meeting strangers; am I missing something?

Yeah, v2 was about a different non-problem (normal people broadcasting their everyday lives).

<comment><USER10> v1 To me sounds more like a way to facilitate sharing. I suppose this could lead to fostering relationships between strangers but for example I would get immense benefit from just having additional/better photos for an event that another person decided to share.

</comment></comment></comment></comment></comment><comment><USER11> Color was coming out right as I was starting my first company. I was just becoming aware of Valley culture, and I found the Color story really, really confusing. As other things have started to click and I've moved from "not knowing anything" to "being consulted professionally on these matters" the whole story of Color remains pretty confusing to me.

<comment><USER11> I don't mean to use hindsight to say I knew they were going to fail, just that I'm just as confused as to how this happens as I was the first day I got interested in startups.

</comment></comment><comment><USER12> This represents a rare (AFAICR) failure for Sequoia. I don't mean to be the naysayer but even at the time, for me, Color had disaster written all over it. All flash, no substance.

I wonder how much of that $40+ million is left and will be returned to investors. Anyone know how many employees Color has (had?)?

It's been said that the military is always busy planning for yesterday's war. The lessons of the past often don't reflect the change in circumstances. I think the tech sector suffers from a version of this, particularly for VCs. Facebook is big. Instagram sold big. Lots of people are chasing social. But IMHO social is largely yesterday's war.

Take one of my current bugbears: social search. Many view it as the Next Big Thing. Social is seen as a key future driver to recommendations and the like. IMHO this is completely overhyped. This is something that's been much- discussed already but a month or two ago I had an interesting conversation that I think shed some light on the problem.

Let's say Alice is friends with Bob. Bob likes a particular movie. We as programmers and entrepreneurs see an opportunity to use technology to solve a "problem" here: namely, how to allow Bob to express that information in such a way as to expose it to Alice, who it is argued, may well be interested in that.

The problem here is that the view of the "problem" here is backwards. We see social interactions as an inefficient way of disseminating information but in most cases in the real world, it's the opposite: that movie recommendation is simply a way of enabling and facilitating a social interaction. In other words, the movie recommendation is a means to an end not an end in and of itself. Too many social startups (IMHO) view the social interactions as a means to an end when in fact it is the end.

Anyway, my condolences in particular to the employees of Color, who I have no doubt worked hard over the last year or so. Luckily we're in a market where you should easily be able to move on to bigger and better things.

<comment><USER9> > Color had disaster written all over it.

Hindsight is 20/20, it's easy to criticize now, but look at it from the investors' perspective:

\- A CEO who not only sold his latest startup to Apple but who built about eight companies in the past twelve years, three that he sold and three that went public.

\- A co founder team made from engineers that came from Google and Apple

... and you have a very solid foundation for a startup with much higher success odds than any other.

<comment><USER13> It's not just hindsight; a lot of people, commentators here and elsewhere, were bemused by the entire Color story. A ridiculous amount of money for a product that didn't exist, had no market, likely had niche interest at best, and had no clear business strategy.

It did have disaster written all of it, and a lot of people called them on it at the time.

As just one example, a quick google first turned up, but i read mountains of commentary like this: <http://news.ycombinator.com/item?id=2655652>

edit:the parent thread is better to read. this was after shit started hitting the fan, but i can't turn up earlier convos atm <http://news.ycombinator.com/item?id=2655592>

<comment><USER8> I remember reading those threads and you're right. The positive spin was built around

1) That it was an interesting idea.

or

2) That it was a talented team which justified the funding.

or

3) That being a "fat" start-up they had plenty of chances to get it right.

I don't remember many (any?) people saying it was a good idea that would succeed on its own merits.

<comment><USER14> Re: 1

It was an "interesting idea" in that most people really didn't know what the heck they were doing, or what problem they were trying to solve.

All anyone really knew was that they got a boatload of money, and spent a lot of money to get color.com.

</comment></comment></comment></comment></comment><comment><USER15> I wasn't expecting it.....that it took this long.

<comment> Pirate-of-SV Same here. Maybe they should have been making something people would use instead of playing around with their ball pit and foosball table in their downtown Palo Alto office.

</comment></comment><comment><USER16> I think Color shows one of the problems faced when people think about location and geo-locking of data. Color (V1 - no idea about V2) didn't bring people together or let distant people experience something that was happening to their friends, it created a pool of photos at a geo-locked location among friends with you and strangers.

Facebook works because it brings people together. Color only worked in places where dense numbers were expected. Targeting things that only work in a urban setting seems to be leaving out a lot of people including friends who just aren't there.

<comment><USER17> >brings people together

Facebook, and instagram, worked because they fed into the "braggart" mentality that has seized social media.

By allowing users to post doctored photos to their friends, you've tapped into their motivation to have better social standing in their "tribe". Few people care what complete strangers think about them.

</comment></comment><comment><USER18> Does this mean Verizon will allow me to uninstall Color? They bought their way onto my phone and I never even opened the app. You won't be missed.

</comment><comment><USER19> I really liked the first colour, its just no one else used it meh. Tough luck for the guys hope everything works out as best as possible.

<comment><USER11> I LOVED the first Color, if it had gotten any adoption I think it would have been awesome. Unfortunately (or perhaps fortunately) that's not how the world works, and it forces us to think beyond "hey wouldn't it be cool if everyone did THIS"

</comment></comment><comment><USER20> See also:

[http://techcrunch.com/2012/10/17/color-says-not-shutting- dow...](http://techcrunch.com/2012/10/17/color-says-not-shutting-down/)

<https://news.ycombinator.com/item?id=4665928>

</comment><comment><USER21> How is it possible that Color has 120k daily active users. And certain that doesn't mean "no one is using the app."

Something is wrong here, either with facebook's numbers or this conclusion. That's not a small number.

</comment><comment><USER22> It 'only' has 440.000 active users? I'd be quite happy with a failure like that.

<comment><USER23> Would you still be happy if you'd spent millions getting those 440k users?

For $41m investment, you could pay 410,000 people $100 to become a user.

</comment></comment><comment><USER24> Color was (and still is) a great idea.

Giving them $40M was not. Right there you killed the greatest force to do the undoable.

Motivation.

<comment><USER25> >Giving them $40M was not. Right there you killed the greatest force to do the undoable.

If motivation and investment capital are negatively correlated, then the Valley has bigger problems than I thought.

<comment><USER24> > If motivation and investment capital are negatively correlated

At early stages, yes.

PG has it right, small investment enough to keep motivation high = food. Deliver and get another round = toys. Grow your user base and get another valuation = perks. Then you are ready to sit on the big table, with your balls, your morale and your thick skin.

If you give it all at once in the beginning, you lose motivation, morale, and your balls too.

Early money is the machete that will castrate you and turn you into a digital eunuch.

</comment></comment></comment><comment><USER26> I wonder if even the employees are surprised, I thought they'd already folded up given how quiet it's been from them.

</comment><comment><USER27> This isn't trouble; this is the end.

</comment><comment><USER28> This is somewhat similar to Cuil.

</comment><comment><USER27> relevant <http://news.ycombinator.com/item?id=4586946>

</comment><comment><USER29> hooray!

</comment><comment><USER30> Pop!</comment>


Ask HN: If I could add a 100MHz CPU external to a phone, what use would it have? - <AUTHOR>

Suppose I could interface a 100 or 200 MHz processor + RAM + storage externally to a high-end smartphone (say via micro USB), and all in a tiny form factor, almost un-noticeable. What useful applications could I run with this weak co-processor? What continuous or periodic tasks can be offloaded to it? <comment><USER2> Phone processors are at least one order of magnitude more powerful than (usual) 100 MHz CPU, therefore it would be of no use.

Anything you would want to do with that external processor would be slower and more inconvenient than doing it on the phone processor itself.

<comment><AUTHOR> Of course I know that. The question is whether there are applications for which an external, physically separated processor, even if weak, would be useful.

</comment></comment><comment><USER3> What are you talking about?

<comment><AUTHOR> Talking about a possible product idea I have in mind.</comment></comment>


The Jig Is Up: Time to Get Past Facebook and Invent a New Future - <AUTHOR> http://m.theatlantic.com/technology/archive/2012/04/the-jig-is-up-time-to-get-past-facebook-and-invent-a-new-future/256046/

<comment><USER2> Really really enjoyed this article. What are the visions for the future that our ancestors will laugh at? It seems people have stopped dreaming.</comment>


Thoughts on Patent FTO for Startups - <AUTHOR> https://medium.com/@hindsights/startups-do-you-have-freedom-to-operate-a72f8eb3cf18 <comment><AUTHOR> For those of you in industries where patents matter - I wrote a blog post about "freedom to operate", and why it might not be the right approach for startups. (Friends link so not behind a paywall)

Thoughts / comments are welcome!</comment>


Our threshold to terrifying situations grows with exposure - <AUTHOR> http://www.sebastianmarshall.com/our-threshold-to-terrifying-situations-grows-with-exposure

<comment><USER2> But not, apparently, our command of grammar.</comment>


Groupon to cut about 1,100 jobs worldwide - <AUTHOR> http://www.cnbc.com/2015/09/22/groupon-to-cut-about-1100-jobs-worldwide.html <comment><USER2> Previously: [https://news.ycombinator.com/item?id=10258475](https://news.ycombinator.com/item?id=10258475)

</comment><comment><USER3> People still use Groupon?

They can use those discount haircut coupons to look neat for their job interviews.

<comment><USER4> This comment breaks the HN guidelines by being both mean and unsubstantive. Please don't comment like that here.</comment></comment>


Ask HN: Point of Sale system APIs for integration? - <AUTHOR>

Does anyone here know of any good APIs or software that lets you integrate with multiple point of sale systems?
My software needs to be able to integrate with POSs in bars and restaurants and I'm looking at my options.
I haven't seen anything out there that looks very good.
Does anybody have experience with this? <comment><USER2> [http://ethor.com/](http://ethor.com/)

Last I talked with these guys this is their secret sauce.

<comment><AUTHOR> This looks perfect. Do you know how long they've been around?

<comment><USER2> not long, about a year I think.

</comment></comment></comment><comment><USER3> Look at OPOS for peripheral interfaces. If I remember correctly there is a java version as well.

</comment><comment><USER4> eThor.com looks interesting, what POS systems do they integrate with? The market is very fractured (RMS touch, aloha, positouch etc); I used to install them, and at one point flirted with developing an app to integrate (went a different way and used qrcodes :( instead). Each company requires a developer license, and they are expensive, 7-25,000$ each.</comment>


The Other Mail – disposable emails done right - <AUTHOR> https://www.theothermail.com <comment><USER2> Excellent! Super useful and works perfectly.

</comment><comment><USER3> do emails get stored?</comment>


The Hair of Physicists (2012) - <AUTHOR> http://blog.nuclearsecrecy.com/2012/06/22/friday-image-the-hair-physicists-1930s/ <comment><USER2> This kind of thing reminds me why I still love the Internet.

Thank you for sharing.

</comment><comment><USER3> It's apparently an ancient thing, that short hair is associated with subordination to the system, while long hair is not. Wonder why. Maybe it's just the age at which all men can really have long hair is also the age at which they're most rebellious, and it just snowballed from there?

<comment><USER4> Those hairy barbaians like the Huns and visigoths

Doesn't always hold though, very hierarchical religious folks seem to like long beards a lot.

</comment></comment><comment><USER5> I thought this was going to be about some obscure, but interesting mathematical problem that has implications for physics. Something akin to the hairy ball theorem. Nope. It's just what it says on the tin.

<comment><USER6> I was convinced it would be something about realistic hair simulation and/or rendering.

I was surprised, but I was not disappointed.

<comment><USER7> I was hoping for an article on nuclear physicists, and how working with radioactive materials when it was still not well understood has left some residual radioactivity detectable in their hair to this day, long after their deaths.

I was disappointed.

</comment></comment></comment><comment><USER8> I have an uncle who is a physics professor. His hair is always a frumpled mess like those in the pictures. I always wondered if it was an affectation (this is what physics professors are supposed to look like) or if it just naturally comes with the territory.

<comment><USER9> Some profs definitely try to look the part so that students are less intimidated and actually ask questions. For some reason, mad scientists with wacky hair are approachable. It's a good thing the physicists in this article helped create the stereotype! Others do it entirely by accident though.

<comment><USER10> Most look perfectly ordinary thought.

</comment></comment></comment><comment><USER10> Nuclear secrecy is truly a gem of information for anyone with an interest in nuclear weapons!

<comment><USER11> Please don't try to collect them.

</comment></comment><comment><USER12> Put that hair upside down, you get UNIX beard...</comment>


Google Hacker Asks Tim Cook to Donate $2.5M in Unpaid iPhone Bug Bounties - <AUTHOR> https://motherboard.vice.com/en_us/article/7xqdxe/google-project-zero-hacker-iphone-bug-bounty <comment><USER2> I didn't see it explained, is this saying that Apple owes this person 2.5 million in bug bounties? Did they refuse to pay, did he decline payment, or what?

<comment><USER3> Guessing as a Google employee paid salary to do this, his deal precludes him from collecting from Apple.

</comment></comment><comment><USER4> "Apple's iPhone is one of the most—if not the most—secure consumer device on the planet."

Really?

<comment><USER5> Can you give a counter-example? In the same product class what is more secure?

<comment><USER6> It doesn't say "same product class". It doesn't even stipulate consumer electronics, let alone networked consumer electronics.

My toaster is more secure.

<comment><USER5> I don't think they meant in comparison to my pet rock.

<comment><USER4> Then they should have compared it to other phones. Not to other "consumer devices".

</comment></comment></comment></comment></comment><comment><USER7> If that is in fact true, and these bugs have been reported and fixed. All I expect in response from Tim is just a simple, "Done!".

<comment><USER8> Do you actually expect that? I expect them to just ignore it or respond with some excuse or reason why they won't pay.

<comment><USER7> With all the bullshit Tim talks about integrity, I don't expect anything less. Then again, I called it bullshit.

</comment></comment></comment><comment><USER9> Finally they found the way in, as Goolge always do</comment>


Inventables, Material and Technology Marketplace - <AUTHOR> https://www.inventables.com/ <comment><USER2> I saw these guys present a few years ago when they were a subscription service for corporate R&D groups. They would send a regular shipment of materials, tagged with very simple descriptions ("this could be good for..."), and longer data sheets.

The idea was that they wanted to put the material in someone's hands in order to spark creativity.

Since then I've wanted to see a similar service for software. There's a lot of friction in evaluating new technologies--money and trust. On the trust angle, it's hard to trust the documenation and claims, and it's hard to trust that the installation experience is going to be easy. But you could package things up on a Knoppix DVD with everything pre-installed, with sample code, and with simple exercises to get you going.

For example, I'm aware that there's a lot going on in NoSQL technologies, but I don't have any pressing needs forcing me to understand them. But the right presentation could probably spark my imagination.

I think this would be a really fun company because it's basically all learning and brainstorming.

</comment><comment><USER3> Interesting website, kind of irritating that the whole thing is using HTTPS; they should only implement that for logins/ecommerce, not for general browsing.

<comment><USER4> What was irritating about it being HTTPS?</comment></comment>


Table Surfing - a bit like Couchsurfing, but then with tables - <AUTHOR> http://tablesurfing.com/

<comment><USER2> Reminds me of <http://www.noonhat.com/lunch/></comment>


Farewell, Disqus - <AUTHOR> http://blog.angularjs.org/2013/11/farewell-disqus.html?m=1

<comment><USER2> Interesting to read the comments - don't skip those!</comment>


Ask HN: CS papers for software architecture and design? - <AUTHOR> Can you please point me to some papers that you consider very influential for your work or that you believe they played significant role on how we structure our software nowdays? <comment><USER3> I used to be very interested in Software Architecture, in fact I've read many of the papers cited here.

When I did a startup many years ago, I committed the mistake of paying too much attention to the architecture of the software [1] I was writing, and not enough attention to the product/customer side of it.

The last couple of years I've been de-emphasizing software architecture as an interest, and have been paying much more attention to how product teams build successful products, what the patterns are, etc. I was lucky enough to work at Facebook for a while and got to see (and learn) a very successful working model of product development.

So, while I'm not saying that software architecture is not important (it is), also pay attention to the product/customer side: what choices (software, organizational, hiring, business) allow you to move fast and iterate, to release early and often, to run A/B tests, etc.

I think good software engineers are just as much product guys (and data guys) as they are software guys.

-

[1] [https://github.com/scalien/scaliendb](https://github.com/scalien/scaliendb)

<comment><USER4> Agreed, good architecture doesn't come into play until you need to add a lot of complex features or scale significantly. Initially architecture doesn't really mean squat. I would concentrate on making the codebase flexible, but that's about it. I've regretted making some of my software with a cool but complex architecture when I should have been focused on what the product does.

<comment><USER5> > I would concentrate on making the codebase flexible, but that's about it

Arguably that's the property of good architecture. Standardizing your entire codebase also works, but only as long as those initial standards stay smart (1), and even then, that relies on discipline, tools, and incentives that are typically not all in place.

(1) A standard might be "all webservers will be written in Java 6". The benefits of choosing that standard tend to be front-loaded with a gradual decline into net-negative with no affordable path to a better standard.

<comment><USER6> To design your software perfectly requires to know the future. You want the things that will change flexible and the rest simple. In practice, you will not hit the sweet spot and either over-engineer too much or hardcode too much (or both in different parts).

<comment><USER7> I tend to place the most emphasis on loose coupling, and being very strict about interfaces between components -- both in terms of documentation and addition/changes. Ideally documentation includes unit or integration tests. This applies to separate high level services as well as it does to internal code structure (classes/modules/etc).

Well documented and tested interfaces of a component make that component easy to replace or rewrite if needed.

Nearly anytime I have worked on or been involved with a project where I or someone else tried to design specifically for a vague future requirement that wasn't entirely clear or guaranteed, it didn't work out: either the requirement never happened, or was so materially different that what we wrote was wrong. As a result, the code we wrote went unused or worse, just got in the way and ended up as unnecessary technical debt.

</comment></comment></comment></comment></comment><comment><USER8> For me, the most influential was "Out of the Tar Pit".

From the abstract: "Complexity is the single major difficulty in the successful development of large-scale software systems. Following Brooks we distinguish accidental from essential difficulty, but disagree with his premise that most complexity remaining in contemporary systems is essential."

[1] [https://github.com/papers-we-love/papers-we- love/blob/master...](https://github.com/papers-we-love/papers-we- love/blob/master/design/out-of-the-tar-pit.pdf)

<comment><USER9> I agree that's a wonderful paper to read, but has it had significant influence in the mainstream?

<comment><USER10> I read this more than 5 years ago, I think from a recommendation on HN. But I must have gotten something different out of it than most people.

It is advocating a particular architecture. But that architecture is essentially LAMP, as far as I can tell. It's what we ALREADY do!!!

From the paper:

 _FRP is currently a purely hypothetical approach to system architecture that has not in any way been proven in practice. It is however based firmly on principles from other areas (the relational model, functional and logic programming) which have been widely proven._

 _In FRP all essential state takes the form of relations, and the essential logic is expressed using relational algebra extended with (pure) user- defined [18] functions._

 _[18] By user-defined we mean specific to this particular FRP system (as opposed to pre- provided by an underlying infrastructure)_

\-----

\- _All essential state takes the form of relations_ This is a database. (SQL deviates from the relational model, but I don't view that as important here. An SQL database stores everything as relations.)

\- _Logic is expressed using pure user-defined functions_ This is PHP / CGI / FastCGI. PHP is imperative, but the entire program is a pure function, because the request state is cleared between every request.

What am I missing? I'm being totally serious -- this is what I got out of it when I read it 5 years ago.

You can quibble with the details of PHP or Rails not being pure functions, but I believe what's important is the architecture, not how the source code looks. The _essential state_ is in the database, in the form of relation. Accidental state is thrown away.

TL;DR -- PHP/MySQL is functional and relational.

<comment><USER11> FRP is a constrained environment, which makes it easier to reason about. PHP is comparatively unconstrained, so when reading code you can't make as many shortcut assumptions. Of course you could write in PHP in accordance to the rules, but subsequent maintainers, including the future you, cannot trust this self-imposed discipline. In other words, you wouldn't argue that assembler is just fine because through vigor and discipline you can build PHP-like application. Similarly, PHP is not well-suited to stand in for FRP.

<comment><USER10> I probably shouldn't have said PHP, since people have reactions to that language that may confuse the issue.

I should have said stateless Python front ends. Not even CGI/FastCGI, but just plain HTTP front ends. Many large websites use this architecture (YouTube, Instagram, etc.)

An example of something that doesn't follow the architecture is a stateful node.js or Go server.

I would say that the typical web architecture is similar to what they are talking about, with the benefit of existence :)

But you're right in the sense that they are trying to be more strict, starting on page 50:

\- benefits for state -- avoid useless accidental state. This is the same philosophy behind SQL.

\- benefits for control -- They are being more strict here, but I think it is missing a lot, because sometimes you need control flow.

\- benefits for code volume -- I would need to see a real system to evaluate this claim. It's not fair to compare systems that exist with ones that don't :)

\- benefits for data abstraction -- SQL agrees here. You don't abstract data. People sometimes make this mistake in their OOP languages, but's incidental.

<comment><USER11> I see what you mean. I was thinking of smaller granularity, less than an entire HTTP request. You have a good point.

</comment></comment></comment></comment></comment></comment><comment><USER12> I'm surprised no one has mentioned the David Parnas papers: "On the Criteria To Be Used in Decomposing Systems into Modules" is an all-time classic [1]. Much more philosophical than most of the suggestions here so far, but this paper really drove home to me the importance of abstraction in software design. (Also covered in the Morning Paper [2].)

[1] [https://www.cs.umd.edu/class/spring2003/cmsc838p/Design/crit...](https://www.cs.umd.edu/class/spring2003/cmsc838p/Design/criteria.pdf). [2] [https://blog.acolyer.org/2016/09/05/on-the-criteria-to-be- us...](https://blog.acolyer.org/2016/09/05/on-the-criteria-to-be-used-in- decomposing-systems-into-modules/)

<comment><USER13> An excellent textbook that teaches Parnas' approach is "Software Engineering: Planning for Change" by David Alex Lamb. The chapter Detailed Design is especially pertinent to this thread. The book is from 1988. I once wrote the author to ask if there would be another edition. He replied, "publishers aren't interested because it isn't object oriented". In fact, its lessons are as relevant to object-oriented programs as any others.

</comment></comment><comment><USER14> DynamoDB paper [1] - one of the big AP, KV stores that kicked off the NoSQL wave.

Paper about Akamai[2] - "Nuggets in content delivery"

Also, acolyers blog "the morning paper". He reviews and explains one paper every day. its great because you get a sense of whats current.

[1][http://www.allthingsdistributed.com/files/amazon-dynamo- sosp...](http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf)

[2][https://www.akamai.com/cn/zh/multimedia/documents/technical-...](https://www.akamai.com/cn/zh/multimedia/documents/technical- publication/algorithmic-nuggets-in-content-delivery-technical-publication.pdf)

<comment><USER15> The Morning Paper's Adrian Colyer is a human Machine. I religiously read his papers.

</comment></comment><comment><USER16> Hints for Computer System Design, Butler Lampson. [https://www.microsoft.com/en-us/research/wp- content/uploads/...](https://www.microsoft.com/en-us/research/wp- content/uploads/2016/02/acrobat-17.pdf)

End-to-End Arguments in System Design, [http://web.mit.edu/Saltzer/www/publications/endtoend/endtoen...](http://web.mit.edu/Saltzer/www/publications/endtoend/endtoend.pdf)

I think Rich Hickey (of Clojure) makes lovely points about application system design. I know you are looking for papers, but Rich's talks have influenced me greatly of late. [https://github.com/tallesl/Rich-Hickey- fanclub](https://github.com/tallesl/Rich-Hickey-fanclub)

<comment><USER17> Lampson has done an update of his hints paper, in the form of a presentation [1] (the video of the talk), [2] (the slides).

[1] [http://www.heidelberg-laureate- forum.org/blog/video/lecture-...](http://www.heidelberg-laureate- forum.org/blog/video/lecture-friday-september-27-butler-w-lampson/)

[2] [http://bwlampson.site/Slides/Hints%20and%20principles%20(HLF...](http://bwlampson.site/Slides/Hints%20and%20principles%20\(HLF%202015\).pdf)

Edit: added link to slides

</comment></comment><comment><USER18> Here are some books, talks and papers that I've found really influential:

Clean Architecture ([https://www.amazon.com/dp/0134494164](https://www.amazon.com/dp/0134494164)) - Uncle Bob has been talking about this for years, but it's a really good exploration of how to build systems.

Turning the Database Inside Out is a talk that really made Apache Kafka and stream processing click with me. [https://www.confluent.io/blog/turning-the- database-inside-ou...](https://www.confluent.io/blog/turning-the-database- inside-out-with-apache-samza/)

Going through and implementing the Raft algorithm was also very formative for me - it's the first time I really started to grok the challenges with building large scale distributed systems. [https://raft.github.io/](https://raft.github.io/)

And to add a paper to the list to not totally go off topic - Birrell's paper "An Introduction to Programming with Threads" I thought was a very useful read - in part for the historical context, but he also breaks down many fundamental concepts that will look very familiar to the modern reader (it was written nearly 30 years ago). It's also very readable. [https://birrell.org/andrew/papers/035-Threads.pdf](https://birrell.org/andrew/papers/035-Threads.pdf)

</comment><comment><USER19> In general, CS (the science) does not often concern itself with the kind of architecture decisions day-to-day programmers deal with. Instead, the field tends to offer architecture advice in particularly hairy areas (DB design, distributed FT consensus, etc). In my opinion, that's how it should be - <USER2> goals of academics are very different to those shipping code in the real world. A great developer will be aware of when to turn to academia and when to turn to industry best practice - too often developers are not aware that they are wondering into a hairy area, and end up re-inventing flawed and inefficient versions that are well understood.

<comment><USER20> That last line of yours is so very true. Whenever i find myself going down the rabbit hole i pick up the nearest relevant academic text and just speedread the relevant chapter to tailor my search doe relevant readymade solutions.

Developer life is like googlefu xtreme edition

</comment></comment><comment><USER21> I liked reading: Program design in the UNIX environment by Rob Pike. Sometimes, when I think about which features to add to a program I step back to see, whether a combination of program would actually yield better results. A practical view into what orthogonality could mean in the tooling world.

[1] [https://nymity.ch/sybilhunting/pdf/Pike1983a.pdf](https://nymity.ch/sybilhunting/pdf/Pike1983a.pdf)

<comment><USER22> Awesome recommendation

<comment><USER23> Good one.

At the bottom of page 3 it says that on UNIX V7 they added an _unbuffered_ (-u) option to _cat_ and then removed it on V8. Does anybody know why they removed it?

I checked out the man for the GNU version and it says

      -u     (ignored)

</comment></comment></comment><comment><USER24> I think one of the most useful papers about scaling modern web architectures is Armando Fox and Eric Brewer's _Harvest, Yield, and Scalable Tolerant Systems_ : [https://pdfs.semanticscholar.org/5015/8bc1a8a67295ab7bce0550...](https://pdfs.semanticscholar.org/5015/8bc1a8a67295ab7bce0550886a9859000dc2.pdf)

Not only was it the paper that first put into written word the CAP theorem, but it also prescribes design principles for scaling out applications with graceful degradation and "orthogonal decomposition" (i.e. service-oriented architectures).

It's also a fairly short and easy read at only 4 pages, and I'd definitely recommend everyone interested in practical modern distributed systems to take a look.

</comment><comment><USER6> Conway's Law [0] is an essential aspect for large scale software development:

> Any organization that designs a system (defined broadly) will produce a > design whose structure is a copy of the organization's communication > structure.

[0] [http://www.melconway.com/Home/Conways_Law.html](http://www.melconway.com/Home/Conways_Law.html)

<comment><USER15> Nice point. Will keep that in mind.

</comment></comment><comment><USER25> I compiled a list some time ago, I'm still actively updating it (if you have ideas for work that should be included please let me know):

"An incomplete list of classic papers every Software Architect should read" [https://blog.valbonne-consulting.com/2014/06/09/an- incomplet...](https://blog.valbonne-consulting.com/2014/06/09/an-incomplete- list-of-classic-papers-every-software-architect-should-read/)

</comment><comment><USER26> Classic reference is Architecture of Open Source Applications [0]

[0] [http://aosabook.org/en/index.html](http://aosabook.org/en/index.html)

<comment><USER27> thats neat there's a full spreadsheet application on there too in this jsfiddle [http://jsfiddle.net/audreyt/LtDyP/](http://jsfiddle.net/audreyt/LtDyP/). No external libraries used either, 99 lines

</comment></comment><comment><USER28> LISP. Recursive Functions of Symbolic Expressions Their Computation by Machine by John McCarthy at MIT.

[https://aiplaybook.a16z.com/reference- material/mccarthy-1960...](https://aiplaybook.a16z.com/reference- material/mccarthy-1960.pdf)

"Introduction: A programming system called LISP (for LISt Processor) has been developed for the IBM 704 computer by the Artificial Intelligence group at M.I.T. The system was designed to facilitate experiments with a proposed system called the Advice Taker, whereby a machine could be instructed to handle declarative as well as imperative sentences and could exhibit "common sense" in carrying out its instructions."

</comment><comment><USER29> Not sure it says a lot about 'architecture', but in terms of 'design', Daniel Jackson's "Rethinking Software Design" has been an absolute eye-opener: [https://www.youtube.com/watch?v=cNe6g0qczxE](https://www.youtube.com/watch?v=cNe6g0qczxE)

The premise of the talk is that while software engineering goals & processes are well-defined and well-understood, the same does not apply for software design. He sets up a framework of 'purposes' and 'concepts', which in an ideal design should be a 1:1 mapping. He points out many examples of 'design smells', where this 1:1 mapping is violated, for whatever reason (engineering reasons, product management failures, etc.)

Definitely useful not just to developers, but anyone involved in writing software/affected by the process of writing software.

<comment><USER30> I am a big fan of Daniel Jackson's approach to teaching programming, and really like his courses, in particular the mindblowing "Elements of Software Construction" [1], which is, by a mile, the best programming course I have come across, and which I believe is sadly underrated; I know there are more recent versions of this course, by a different professor, that use the more popular (at least in this forum) Python instead of Java, but IMHO with all due respect, they are a bit dumbed down and I believe that you won't get the same out of them. It is not really a Java course, it has improved my programming (and, very specially, design) in general, in any language. It completely changed the way I look at design patterns, for instance; it made me really understand functional programming and state machines; what OO really is about; how to choose a software paradigm for a given problem; and now I use JSP stream processing to model many programs (nothing to do with java JSP, it was created by his dad in the 70s, "the other Michael Jackson").

To really appreciate how much thought went into the design of this course, I recommend reading "A New Approach to Teaching Programming" [2]

As for the Concepts and Purposes you refer to, there is more on this in [3] [4] [5] in the MIT 6.170

[1] [https://ocw.mit.edu/courses/electrical-engineering-and- compu...](https://ocw.mit.edu/courses/electrical-engineering-and-computer- science/6-005-elements-of-software-construction-fall-2008/)

[2] [http://people.csail.mit.edu/dnj/articles/teaching-6005.pdf](http://people.csail.mit.edu/dnj/articles/teaching-6005.pdf)

[3] [https://stellar.mit.edu/S/course/6/fa16/6.170/courseMaterial...](https://stellar.mit.edu/S/course/6/fa16/6.170/courseMaterial/topics/topic2/lectureNotes/L12_-_concept- slides/L12_-_concept-slides.pdf)

[4] [https://stellar.mit.edu/S/course/6/fa16/6.170/courseMaterial...](https://stellar.mit.edu/S/course/6/fa16/6.170/courseMaterial/topics/topic2/lectureNotes/L14_-_concepts- part-2/L14_-_concepts-part-2.pdf)

[5] [https://stellar.mit.edu/S/course/6/fa16/6.170/courseMaterial...](https://stellar.mit.edu/S/course/6/fa16/6.170/courseMaterial/topics/topic3/resource/Recitation_8_-_Concepts/Recitation_8_-_Concepts.pdf)

</comment></comment><comment><USER31> Kreps and Kleppmann on stream processing, log abstraction, event sourcing:

[https://engineering.linkedin.com/distributed-systems/log- wha...](https://engineering.linkedin.com/distributed-systems/log-what-every- software-engineer-should-know-about-real-time-datas-unifying)

[https://martin.kleppmann.com/2015/03/04/turning-the- database...](https://martin.kleppmann.com/2015/03/04/turning-the-database- inside-out.html)

[https://www.confluent.io/blog/making-sense-of-stream- process...](https://www.confluent.io/blog/making-sense-of-stream-processing/)

</comment><comment><USER32> A lot of good suggestions, but quite technical. Are there any good ones focusing on the design process, with a bias towards CS?

I found this very intriguing:

Towards a Theory of Conceptual Design for Software [https://groups.csail.mit.edu/sdg/pubs/2015/concept- essay.pdf](https://groups.csail.mit.edu/sdg/pubs/2015/concept-essay.pdf)

</comment><comment><USER9> "Scripting: Higher- Level Programming for the 21st Century" by J. Ousterhout was certainly very influencial (cf. Python, Ruby, etc.)

[https://web.stanford.edu/~ouster/cgi- bin/papers/scripting.pd...](https://web.stanford.edu/~ouster/cgi- bin/papers/scripting.pdf)

Not sure the paper in itself aged so well.

Also, see:

[https://en.wikipedia.org/wiki/List_of_important_publications...](https://en.wikipedia.org/wiki/List_of_important_publications_in_computer_science#Software_engineering)

<comment><USER30> Thx for the wikipedia link, this is probably the best paper list I've seen so far

</comment></comment><comment><USER33> The folks at Heroku have the 12 Factor App [https://12factor.net](https://12factor.net)

</comment><comment><USER34> Oldie but goodie: Large-scale cluster management at Google with Borg [1]. Kicked off the mainstream idea that maybe (dev)ops shouldn't care about servers and Linux service configuration or where exactly their code runs.

[1] - [https://static.googleusercontent.com/media/research.google.c...](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43438.pdf)

</comment><comment><USER30> [1] Joe Armstrong 2003. "Making reliable distributed systems in the presence of software errors" (the Erlang paper, perhaps the most famous implementation of message passing concurrency).

[2] John Backus 1979. "Can programming be liberated from the von Neumann style? A functional style and its algebra of programs." (a famous case for functional programming)

[3] Victor R. Basili and Albert J. Turner. 1975 "Iterative enhancement: A practical technique for software development" (Agile in 1975? Actually it seems iterative development can be traced back to the 50s)

[4] Andrew D. Birrell and Bruce Jay Nelson 1984 "Implementing remote procedure calls" (The idea of making a distributed language operation similar to a local language operation)

[5] Edsger W. Dijkstra. "Go To statement considered harmful" (the mother of all those "considered harmful" titles)

[6] Carl Hewitt 1977. "Viewing control structures as patterns of passing messages". (seminal study of asynchronous messaging)

[7] Carl Hewitt, Peter Bishop, and Richard Steiger 1973. "A universal modular ACTOR formalism for artificial intelligence" (idem)

[8] Charles Antony Richard Hoare 1974. "Monitors: An operating system structuring concept". (an early refinement of a very influential concurrency concept)

[9] Charles Antony Richard Hoare 1979. Communicating sequential processes (an early presentation of invariants for state machines)

[10] deleted

[11] Gilles Kahn and David B. MacQueen 1977. "Coroutines and networks of parallel processes" (non preemptive concurrency, an alternative to threads for collaborative concurrency)

[12] Robert A. Kowalski 1979. "Algorithm = logic + control". (A logic program can be "read" in two ways: either as a set of logical axioms (the what) or as a set of commands (the how); the idea behind relational programming, like in prolog)

[13] Nancy Leveson and Clark S. Turner 1993. "An investigation of the Therac-25 accidents." (the mother of all race conditions papers? Focuses the mind about the dangers of interleavings)

[14] Henry Lieberman. 1986 "Using prototypical objects to implement shared behavior in object- oriented systems." (influenced js? Understanding delegation)

[15] George A. Miller. 1956 "The magical number seven, plus or minus two: Some limits on our capacity for processing information." (this might be pushing it, but maybe the original case for managing complexity)

[16] Chris Okasaki. 1998 "Purely Functional Data Structures." (how to design functional algorithms)

[17] John C. Reynolds 1975. "User-defined types and procedural data structures as complementary approaches to data abstraction." (the fundamental abstract data types concept)

[1] [http://erlang.org/download/armstrong_thesis_2003.pdf](http://erlang.org/download/armstrong_thesis_2003.pdf)

[2] [https://www.thocp.net/biographies/papers/backus_turingaward_...](https://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf)

[3] [https://www.cs.umd.edu/~basili/publications/journals/J04.pdf](https://www.cs.umd.edu/~basili/publications/journals/J04.pdf) [4] [http://www.bighole.nl/pub/mirror/www.bitsavers.org/pdf/xerox...](http://www.bighole.nl/pub/mirror/www.bitsavers.org/pdf/xerox/parc/techReports/CSL-83-7_Implementing_Remote_Procedure_Calls.pdf)

[5] [https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.p...](https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf)

[6] [https://www.cypherpunks.to/erights/history/actors/AIM-410.pd...](https://www.cypherpunks.to/erights/history/actors/AIM-410.pdf)

[7] [http://worrydream.com/refs/Hewitt- ActorModel.pdf](http://worrydream.com/refs/Hewitt-ActorModel.pdf)

[8] [http://www.cs.unm.edu/~cris/481/hoare- monitors.pdf](http://www.cs.unm.edu/~cris/481/hoare-monitors.pdf)

[9] [http://lass.cs.umass.edu/~shenoy/courses/677/readings/Hoare....](http://lass.cs.umass.edu/~shenoy/courses/677/readings/Hoare.pdf)

[11] [https://hal.inria.fr/inria-00306565/PDF/rr_iria202.pdf](https://hal.inria.fr/inria-00306565/PDF/rr_iria202.pdf)

[12] [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.472...](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.472.9550&rep=rep1&type=pdf)

[13] [https://www.cs.umd.edu/class/spring2003/cmsc838p/Misc/therac...](https://www.cs.umd.edu/class/spring2003/cmsc838p/Misc/therac.pdf)

[14] [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.6...](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.69)

[15] [http://www.sns.ias.edu/~tlusty/courses/InfoInBio/Papers/Mill...](http://www.sns.ias.edu/~tlusty/courses/InfoInBio/Papers/Miller1956.pdf)

[16] [https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf](https://www.cs.cmu.edu/~rwh/theses/okasaki.pdf)

[17] [https://pdfs.semanticscholar.org/71db/39fe3e2a6b80c52b18bd24...](https://pdfs.semanticscholar.org/71db/39fe3e2a6b80c52b18bd24b025428d4a7f44.pdf)

<comment><USER35> +1 for "Making reliable distributed systems in the presence of software errors". It's a long read, but it has completely changed the way I approach programming.

</comment></comment><comment><USER36> Philippe Kruchten's The 4+1 view model of architecture is a very influential work for software architecture/design: [https://pdfs.semanticscholar.org/450b/1e34bc072589ed83f72f6f...](https://pdfs.semanticscholar.org/450b/1e34bc072589ed83f72f6f9b00af6d39b311.pdf) .

</comment><comment><USER37> Eric Evans' _" Domain-Driven Design: Tackling Complexity in the Heart of Software"_ book is long and pretty dry, but it's immediately practical and opened my mind to how object-oriented design is supposed to work.

[https://amzn.com/0321125215](https://amzn.com/0321125215)

[https://en.wikipedia.org/wiki/Domain- driven_design](https://en.wikipedia.org/wiki/Domain-driven_design)

<comment><USER38> Is there a world of software architecture that exists outside the "OOP" patterns we have seen in the last 2 decades? A quarter of the way through my career and I have already grown weary of OOP. It's promises are never realized. It is full of zealots who can argue with you for ages but don't deliver very much on real world, performant software.

</comment></comment><comment><USER39> Brad Cox: Planning the Software Industrial Revolution. A classic from the creator of Objective-C. Incredibly far sighted in 1990, and still very relevant today.

[1] [http://bat8.inria.fr/~lang/hotlist/free/licence/papers/cox/C...](http://bat8.inria.fr/~lang/hotlist/free/licence/papers/cox/CoxPSIR.html)

</comment><comment><USER40> An open graph visualization system and its applications to software engineering: [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.106....](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.106.5621)

</comment><comment><USER41> Here are some links (papers & talks) on scalable software architecture

[https://github.com/Developer-Y/Scalable-Software- Architectur...](https://github.com/Developer-Y/Scalable-Software-Architecture)

</comment><comment><USER42> > .. how we structure our software nowdays

The current trends were mostly blog driven. (Notable exception being the design approach to _distributed systems and databases_ , which has been noted by many in this thread. Brewer's CAP theorem, etc., of course, were hugely influential.)

In terms of "CS" papers, there were a few that argued _against_ the then prevailing canon such as object orientation. In terms of _theory_ , the theoretical foundation of much of the current approach can be found (surprisingly) in papers from the 70s and 80s, e.g. Hoare's CSP (which influenced Go) is circa '85.

</comment><comment><USER43> "The Architecture of Open Source Applications" Volumes I & II [http://aosabook.org/en/](http://aosabook.org/en/)

"Manifesto for Agile Software Development" [https://en.wikipedia.org/wiki/Agile_software_development#The...](https://en.wikipedia.org/wiki/Agile_software_development#The_Agile_Manifesto)

"Catalog of Patterns of Enterprise Application Architecture" [https://martinfowler.com/eaaCatalog/](https://martinfowler.com/eaaCatalog/)

Fowler > Publications ("Refactoring ",) [https://en.wikipedia.org/wiki/Martin_Fowler#Publications](https://en.wikipedia.org/wiki/Martin_Fowler#Publications)

"Design Patterns: Elements of Reusable Object-Oriented Software" (GoF book) [https://en.wikipedia.org/wiki/Design_Patterns](https://en.wikipedia.org/wiki/Design_Patterns)

.

UNIX Philosophy [https://en.wikipedia.org/wiki/Unix_philosophy](https://en.wikipedia.org/wiki/Unix_philosophy)

Plan 9 [https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs](https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs)

## Distributed Systems

CORBA > Problems and Criticism (monolithic standards, oversimplification,): [https://en.wikipedia.org/wiki/Common_Object_Request_Broker_A...](https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture#Problems_and_criticism)

Bulk Synchronous Parallel: [https://en.wikipedia.org/wiki/Bulk_synchronous_parallel](https://en.wikipedia.org/wiki/Bulk_synchronous_parallel)

Paxos: [https://en.wikipedia.org/wiki/Paxos_(computer_science)](https://en.wikipedia.org/wiki/Paxos_\(computer_science\))

Raft: [https://en.wikipedia.org/wiki/Raft_(computer_science)](https://en.wikipedia.org/wiki/Raft_\(computer_science\)) #Safety

CAP theorem: [https://en.wikipedia.org/wiki/CAP_theorem](https://en.wikipedia.org/wiki/CAP_theorem)

</comment><comment><USER44> Not a paper, but Martin Fowler's book "Refactoring" changed the way I structure my domain models forever.

</comment><comment><USER45> Decouple and cohesion. Beyond that it's pretty domain dependent.

</comment><comment><USER46> Write code that is easy to participate in.

</comment><comment><USER47> I would recommend Martin Fowler articles [https://martinfowler.com/](https://martinfowler.com/)

</comment><comment><USER48> For me, it would be:

1\. actor model of computation ([https://arxiv.org/abs/1008.1459](https://arxiv.org/abs/1008.1459)) 2\. map reduce ([https://research.google.com/archive/mapreduce.html](https://research.google.com/archive/mapreduce.html))

<comment><USER49> On the industrial side, Jim Gray's paper complements Hewitt's nicely.

[http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf](http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf)

(On second thought it helps to have Armstong's thesis on Erlang as a bridge between them, but I can't find an easily downloadable link at the moment.)

<comment><USER17> I also like the set of slides _Paranoid Programming - Techniques for Constructing Robust Software_ [1] from Stratus Computer. They were discussed here earlier this year [2]

[1] [http://ftp.stratus.com/vos/doc/papers/RobustProgramming.ps](http://ftp.stratus.com/vos/doc/papers/RobustProgramming.ps)

[2] [https://news.ycombinator.com/item?id=13678251](https://news.ycombinator.com/item?id=13678251)</comment></comment></comment>


Subprocesses are generally bad news - <AUTHOR> http://rachelbythebay.com/w/2018/04/11/exec/ <comment><USER2> I had similar thoughts some time ago but came to a very different conclusion: anything the shell can do a programming language could do just as well, given the right interface. The fact that languages don't make it easy to spawn subprocesses safely doesn't mean that they couldn't do so. The right solution is making it both convenient _and_ safe to do shell-like things from within a real programming language. So I made sure that Julia does this right:

[https://julialang.org/blog/2012/03/shelling-out- sucks](https://julialang.org/blog/2012/03/shelling-out-sucks)

[https://julialang.org/blog/2013/04/put-this-in-your- pipe](https://julialang.org/blog/2013/04/put-this-in-your-pipe)

<comment><USER3> Scsh also does this right. It makes me sad that no one actually successfully ported it to other schemes.

<comment><USER4> There was a port of scsh to guile that was more of a library - it worked really well. I doubt it's up to snuff on guile 2.0+ though.

</comment></comment></comment><comment><USER5> _" I'll just escape it" is a typical and yet unacceptable response to this._

There seems to be some sort of "cult" (for lack of better term) around this mentality of "it's too hard so don't do it", which unfortunately only makes things worse overall. Escaping rules are well-defined (they must be, by necessity), and sooner or later you're going to have to do something involving it; not to mention the important superset of things to keep in mind when writing code, of which escaping is only a fraction: the general principle of "consider _all_ input". Always assume that all 256 values of a byte can and will show up in any external input, and plan accordingly.

<comment><USER6> > Escaping rules are well-defined

Except when they aren't? I'm thinking of things like the bash exported function bug, an obscure feature nobody thought was there turns evaluating environment variables into RCE. Not to mention different shells may do things slightly differently and you may get caught doing something unexpected.

So why not leave the shell out of the picture entirely? I think execve and friends are much easier to get right than escaping. There are still possible security bugs to consider (eg., if using the -p family such as execvp, who controls PATH? Is anything on PATH writeable?), but the shell won't be among them.

<comment><USER7> As often as I've seen people get shell-escaping wrong, escaping rules probably aren't well-understood, regardless of how well-defined they are. Bourne shell's quoting rules are byzantine at best. There are ways to reliably and securely quote for the Bourne shell, but the best solution is not to pass untrusted input to the shell. Unrelated to the shell, I've seen people -- including myself -- fail at dot-stuffing. Experience has taught me to avoid hand-rolled escaping when I can; escaping is definitely a code smell.

</comment></comment></comment><comment><USER8> Because the shell is a generalized engine for executing things, and because magic defines textfiles as candidate executables nominating either the shell or a shell-exec binary to interpret them, and because system() jacks all of this to say you can invoke a shell with all its awesome to invoke scripts which invoke a binary to parse them.

If the shell was only rsh, and if the set of binaries you can invoke was constrained, and if the network and system calls were accessed through strace() barriers which limited what you could do.. We might have less problems. Except that in the end, people don't code or script for secure execution so the context of 'what harm can I do from here' turns out to be a lot wider than many people think.

</comment><comment><USER9> Hello inetd, my old friend

I've come to talk with you again

Because bugs softly creeping

Pwned my server while I was sleeping...

</comment><comment><USER10> The premise is faulty. Subprocesses are fine, it is the POSIX shell that should be avoided. Or any interpreted language. Smallest tool for the job.

Use exec* calls, right options for your process handling class and there is no problem.

As a bonus feel free to spawn/fork your current application.

Linking pipes and file descriptors is also not that hard. (Though they are a cruddy that may be nicer to wrap in something like 0mq.)

</comment><comment><USER4> This is sanitizing input, yes?

Didn't seem to be too specific to subprocesses, just some places where folks use input directly.</comment>


The Horizontal Reading Experience - <AUTHOR> http://hiddenlogic.in/post/the-horizontal-reading-experience

<comment><USER2> without any margins, i ain't gonna read that. try again.

-bowerbird</comment>


Ask HN: What are yours favorite authors? - <AUTHOR>

Favorite authors on 1) Literature 2)Computing Science 3)Scientific dissemination <comment><USER2> George Orwell because he got 1984 right about corruption in Democracy and Animal Farm right about corruption in communism/socialism.</comment>


Profit, Lies, Theft, and Idiocy - designers and developers selling out - <AUTHOR> http://www.andyrutledge.com/profit-lies-theft-and-idiocy.php

<comment><USER2> This article is so sadly wrong and misguided. The following comes to mind: Profit in art? <http://www.weareoca.com/photography/profit-in-art/> Without reading Chimero's mind, I dare to say he loves what he does, and does it so he can keep doing it. If he needs some money to start right now doing what he and I love, I'm willing to help him.

The section "Don't be a professional idiot…or a thief" is beyond stupid. "Denying your own or someone else's inherent value makes it quite easy for you to become a thief." There you go, if you work on free open source out of sheer enjoyment you are supposed to be a thief.

And what's up with the pompous language across the piece?

 _Argh_

</comment><comment><USER3> This is a really interesting post but I think there's a fundamental flaw in the argument that the "investors" own the product that Chimero is making. Specifically, Rutledge says:

 _By selling out first before he created the product he promises, he's now working for the investors instead of working for himself._

It's specifically stated in the Kickstarter FAQ's that investments are not allowed. No one should be under the impression that they _own_ a portion of the product being produced. Instead, you're receiving a copy of the final product in return for your commitment.</comment>


Lessons from 150 startup pitches - <AUTHOR> http://blog.asmartbear.com/startup-lesson.html

<comment><USER2> Regarding this one: "Pretending your faults don't exist."

Having seen quite a few pitches myself, one good thing you can do is point out your major flaws/obstacles before you're asked about them (assuming they don't clearly spell out your impending demise).

This may seem a little counterintuitive, but it lets you present the issue in a better light and explain how you're going to fix it, instead of having the investor feel like they've discovered a glaring weakness that you were trying to brush under the table. I believe lawyers use a similar technique.

One caveat to this: I'm a blogger/reporter, so investors may have a different perspective. But I'm guessing it holds true for them too.

<comment><USER3> This ties in to an amazingly important (and rare) _personal_ characteristic: self-awareness. Being able to honestly identify your own strengths and weaknesses is the only way to systematically build the former and eliminate the latter.

In my experience, few people are able to assess themselves effectively; it's too easy to slide in one of two directions: avoidance or neurosis. But as the saying goes: the unexamined life is not worth living.

<comment><USER4> I understand avoidance, but what do you mean by "neurosis"?

<comment><USER3> Self-analysis can sometimes precipitate a cycle of anxiety and doubt. Some people can leverage this constructively and use it as motivation, but for others it's destructive.

I tend to think those people who seem crippled by self-doubt see just as distorted a picture of themselves as people who are incapable of self- examination, just skewed the other direction. Minimization vs maximization of faults.

</comment></comment></comment></comment><comment><USER5> I was really surprised to see this post from Jason; it seems to go against most things I've read from him in the past, including one of my favorite startup posts:

[http://blog.asmartbear.com/your-idea-sucks-now-go-do-it- anyw...](http://blog.asmartbear.com/your-idea-sucks-now-go-do-it-anyway.html)

I was involved in the hiring process for faculty members in academia, and our approach has always been to invest primarily in individuals, rather than in ideas. Ideas are disposable, and competent individuals will quickly learn how to adjust their ideas to the circumstances.

Case in point: Jason's own product Code Historian (see blog post above).

I understand the difficulties that come with 100's of applications. The admission criteria always end up being far from ideal. In my former academic circle, we relied heavily on letters of recommendation; both who wrote them and what was said about the candidate mattered. Everything else the candidate wrote was only glanced over.

I would think something like that can be more effective than meticulously analyzing someone's pitch.

<comment><USER6> It seems from reading that post that PayPal's and Flickr's original ideas were ahead of their time.

Paypal's original idea is still a problem for people and it's similar to what Square is doing now.

Flickr's original idea is lot like the social MMOs we see now like FarmVille and many of the other Zynga games.

<comment><USER5> I don't get it: Are you agreeing or disagreeing with what I said?

If you're right and the ideas were indeed ahead of their time, that means they were still a bad business proposition (at the time). The founders should take full credit for realizing this and adjusting accordingly.

<comment><USER6> I was merely commenting on the link you posted.

However, since they were ahead of their time so pivoting was the right thing for them at that time.

</comment></comment></comment></comment><comment><USER7> _Often you assume your customer is the same as you - sees the problem the same way, wants to solve it your way, and wants to pay for it. But you're explicitly not like your customers; for one thing, you have enough initiative and insight to quit your job to start a company. It's easy to let your idiosyncratic preconceptions prevent you from observing what the larger market will accept._

I think that's a corporate perspective to review a startup pitch. In a startup you're iterating and evolving your idea but you have some start point and perhaps it's your 'idiosyncratic preconceptions'.

<comment><USER8> At the very least you need to have the idea confirmed and ensure the problem exists outside of your entrepreneurial vision.

</comment></comment><comment><USER9> Very accurate - I think this is a must read for anyone embarking on a new startup.

I see a lot of these issues all the time, but sifting these out and articulating them this concisely is very difficult.

I can also see these issues created the biggest challenges in previous projects I have worked on.

</comment><comment><USER10> Very well stated Jason. I think your opinion on "Pretending your faults don't exist" is especially spot on. Programmers, myself included, can sometimes become so attached to a feature or coding approach that any criticism, warranted or not, becomes a personal attack. I also think it has become way to acceptable to say "no" to customers. Rather than the constructive reasoning behind saying no, often times arrogance or even self consciousness leads to pretending faults do not exist. For this reason it is always helpful to have a trusted source for non-programmer feedback.

</comment><comment><USER11> I'm looking forward to "positioning against the competition". I think this is something a lot of startups will find useful. Many people have good ideas, but when it comes right down to it, it's a dog-eat-dog world, and the cash flows from the customer/users opinion of your offering weighed against the competition. You can iterate all day long, but to take home the money you need to be more attractive than the others out there. That takes a well thought out plan.</comment>


Introducing the Datasets Catalog - <AUTHOR> https://blog.scrapinghub.com/2016/06/09/introducing-the-new-open-data-catalog/ <comment><USER2> This is a great news for OpenData and Data journalist. I think this promote much more the easy sharing of Datasets and also initiatives like the Panama papers, or WikiLeaks.

</comment><comment><USER3> This is great news for site owners too! At least some people will use the already scraped info instead of hitting the server.</comment>


ShowHN: An open source Quartz Composer implementation for iOS - <AUTHOR> http://joris.kluivers.nl/blog/2013/06/04/quartz-composer-for-ios/

<comment><USER2> Fantastic! I'm currently working on a Mac app that uses quartz composer for certain functionality. I was thinking about the easiest way to port that to iOS once the Mac app has been released. I'll keep an eye on your project and will probably try to add to it once I start using it. Thanks for sharing!

<comment><AUTHOR> Cool. Feedback is always appreciated.

I'm also collecting interesting compositions for demo & test purposes. So anything you're able to share might help me implement the required patches.

<comment><USER2> Are you attending WWDC by any chance, then I could show you what I have so far and you can say what you need :)

<comment><AUTHOR> Unfortunately not this year :(

<comment><USER2> Aw ok :( . I'll just contact you once I have some useful qtz stuff ready :)</comment></comment></comment></comment></comment>


Wireless Lightbulb from Philips - <AUTHOR> http://www.meethue.com/

<comment><AUTHOR> They are offering an SDK. Can't wait to hook it onto our CI.

<comment><USER2> Where do you see they are offering an SDK?

I only saw that there is an iOS app and a web interface.

<comment><AUTHOR> Well just announced yet: <http://www.meethue.com/en-US/developers></comment></comment></comment>


Ask HN: oLark or Livezilla? - <AUTHOR>

Simple question... I'm planning to integrate live help to get instant feedback or answer question from my beta users... Do you recommend LiveZilla or oLark? <comment><USER2> If you are expecting a relatively low chat volume but more than 20 conversations per month, you might find My Customer Cloud's (<http://mycustomercloud.com>) pay-per-use plan a good option. We also offer SMS chat in addition to website chat.

</comment><comment><USER3> I highly recommend <http://www.olark.com> \-- but I am biased. If you already use an IM program, it's hard to beat being able to monitor visitors right in your buddy list.

</comment><comment><USER4> I've only used oLark, but I've been happy with them.</comment>


The Violin Thief - <AUTHOR> http://www.washingtonpost.com/sf/style/2016/03/17/the-violin-thief/ <comment><USER2> The daughter of the violin's owner is NPR host Nina Totenberg. She wrote about the recovery between the time of its discovery and before its sale. [http://www.npr.org/2015/08/06/427718240/a-rarity- reclaimed-s...](http://www.npr.org/2015/08/06/427718240/a-rarity-reclaimed- stolen-stradivarius-recovered-after-35-years)

</comment><comment><USER3> And he never got a penny for the theft, just a lifetime of enjoying the violin. I'm not excusing him, just commenting.

<comment><USER4> But he is now as immortal as the instrument adding himself to its provenance.

</comment></comment><comment><USER5> The Beyond Beethoven recording sounds interesting, and, of course, not easily available.

Anyone listened to it?

Shame when someone with ideas is just a little too far out of the mainstream of behaviour to get the social network to launch the ideas.

Quote from OA

 _" Tran kept urging her husband to build a career giving music lessons. Their living room in Venice was perfect for that."_

Teaching and improvising could have been a way forward with software and Web distribution. Such a shame.

PS the Mobius trio that you will find on youtube are actually three guitarists. There stuff sounds interesting as well, so I'm ahead.

</comment><comment><USER6> Concise version, presented chronologically: [https://en.wikipedia.org/wiki/Ames_Stradivarius](https://en.wikipedia.org/wiki/Ames_Stradivarius)</comment>


Teenager can walk again thanks to Dutch 3D printed spinal implant - <AUTHOR> https://www.dutchnews.nl/news/2019/07/teenager-can-walk-again-thanks-to-dutch-3d-printed-spinal-implant/ <comment><USER3> Fact check:

1\. This was not published in The Lancet (a prestigious medical journal) but in the Lancet Digital Health a similar sounding spin-off journal without an impact factor that uses a pay to publish model (pay around $5000 and you get published)

2\. No bones or anatomic parts were printed. What was printed is this: [https://els-jbs-prod-cdn.literatumonline.com/cms/attachment/...](https://els- jbs-prod- cdn.literatumonline.com/cms/attachment/591a00c3-3865-428b-b74a-eaa94108fa5a/gr2.jpg)

</comment><comment><USER4> Formlabs is making strong progress towards making this kind of technology more accessible. Their ~$3500 3D printers have enabled similar innovations in healthcare; likely why they're now valued at >$1B... I've been watching the progress of this prosthetic technique [[https://formlabs.com/blog/shirley- technique-facial-prosthesi...](https://formlabs.com/blog/shirley-technique- facial-prosthesis/)] and customization of orthotics [[https://formlabs.com/blog/father-helps-son-with-cerebral- pal...](https://formlabs.com/blog/father-helps-son-with-cerebral-palsy-walk- with-custom-3d-printed-orthosis/)]

</comment><comment><USER5> This is pretty awesome. And sure, right now it's limited to high end tech at the bleeding edge of medicine, but I fully hope this will inspire the current gen owners of glowforges, makerbots, xcarves, and all of their off-brand alternatives to begin making over-engineered, novel, and interesting finger splints or Band-Aids or other diy-friendly med tech.

<comment><USER6> I have a friend whose son was born with a partial hand. They were able to use 3D printing to make a prosthetic that was cheap enough they could make new ones as he grew. IIRC, they could do themes such as iron man for the prosthetic.

<comment><USER7> Do they have photos, video or info to share? Would be really interesting to see it working, sounds awesome.

<comment><USER6> I found out because they shared on Facebook. I would normally not share it, but apparently his experience was shared on the news. [https://www.hopkinsmedicine.org/news/stories/3d_griffin.html](https://www.hopkinsmedicine.org/news/stories/3d_griffin.html)

</comment></comment></comment></comment><comment><USER8> Question : Why did the patients ASIA assessment improve?

Was their impairment caused by temporary nerve impingement that was alleviated once the mechanical burden of the spinal collapse was taken care of?

Neat tech.

<comment><USER9> Not a doctor, haven't read the paper, but had many ASIA assessments before, during and after nerve damage in my spine that was rectified by draining a load of Step B that had formed a little pool party in there (yeah, I know...)

My short take on this, is that even a tiny amount of impingement can have a massive impact on ASIA scores.

The nerves running through your spinal cord are incredibly delicate, and it doesn't take that much to cause them to start going quite wrong.

A relatively small amount of abnormality in my case around T6-T7 area caused me to lose sensation and motor control below the abdomen. You can see before/after MRIs here: [https://medium.com/@p7r/one-year- on-2b624075b0bc](https://medium.com/@p7r/one-year-on-2b624075b0bc)

Whilst the "object" is some 20mm-30mm long, the impingment into the nerves is perhaps 3mm deep at its maximum, but is pushing the nerves into my spine itself causing two pinch points on the left hand side.

That was all it took to not being able to walk or feel almost anything in my legs, or feet.

My ASIA scores were mostly 0 (no sensation), with some 1 scores (impaired sensation). A month after surgery I was scoring 1 almost everywhere.

Nerve regrowth is magical in that it just works, but it is very slow - <USER2> 0.1mm per week is what I was told - and it took me six months to not need a walking stick and have close to normal proprioception below the abdomen. Today - two years later - I still have slight numbness around the ball of my right foot (strangely it's temporal - it definitely has bad days), but am able to walk, drive and do so on without issue.

My ASIA scores now would be 2s everywhere with a single 1 on a specific point of my foot, but even then it's close to being a 2.

So, it is definitely possible that even a tiny, tiny amount of impairment into the nerves would lead to 0 and 1 scores that after 6 months move to a 2, even with pretty minor impingements.

</comment></comment><comment><USER10> How durable are things like this? I know virtually nothing about 3D printing. How tough can items be made?

<comment><USER11> 3D printing metal is usually done by sintering a metal powder. The technology is good enough for turbine blades in aircraft engines.

<comment><USER12> Turbine blades in modern aircraft are gamma-TiAl, which is a single crystal. These are not 3d printed and the process for making them is similar but more advanced than making silicon wafers.

<comment><USER13> This is a decent documentary on Rolls Royce that discusses the single crystal blade. I think each one has 18 tons of centrifugal force, and uses a few micron layer of air to cool it, so running an engine too slow will melt them. Fascinating stuff.

[https://youtu.be/1Ufd5nDeEK8](https://youtu.be/1Ufd5nDeEK8)

</comment></comment></comment></comment><comment><USER14> Link to scientific article in The Lancet: [https://www.thelancet.com/journals/landig/article/PIIS2589-7...](https://www.thelancet.com/journals/landig/article/PIIS2589-7500\(19\)30067-6/fulltext)

</comment><comment><USER15> It should be noted that – contrarily to my first thoughts when reading the title – the implant won't work if the spinal cord was cut. It only serves as a sophisticated 3D printed titanium splint for the spine, which is already a big achievement by itself.

</comment><comment><USER16> Is there a limit to how many bones in the body could be replaced with titanium?

<comment><USER17> I know where you're going with this xwdv .. can you afford the metal though?

<comment> D-Coder A Google search returned this:

      Forged Titanium Parts & Components

      The price of commercially pure titanium (CP) has risen sharply since 2003 to 2014, from $15.00 per lb to $30.00 per lb. It is an extremely light weight and high strength material.

      Titanium Forgings - Forged Titanium - Commercially Pure Alloys ...

[https://www.steelforge.com/raw-materials/titanium- forgings/](https://www.steelforge.com/raw-materials/titanium-forgings/)

At even $30 per pound, for a material that I'm pretty sure is stronger per weight than bone, even a dozen pounds is very do-able.</comment></comment></comment>


Ask HN: Job opportunity in SF - Which Visa should I go for? - <AUTHOR>

I've been wanting to move to San Francisco for a while, and now I finally might have an opportunity to do so. A Dutch company that has an office over there is looking for programmers. I fit the description and I also speak fluent Dutch (plus point). I don't have a bachelor degree but I do have quite a bit of work experience. I've even done some work for them indirectly through my current employer. What options do I have? Would I be able to get a H1-B evn though I don't have a Bachelor Degree? I might be able to get an L-1B but that requires me to work for them for a year in The Netherlands. What other options do I have?
I'm 22 & have a British passport if that makes any difference.
Thanks in advance for any advise! <comment><USER2> Is Dutch required for your job? To use that as an asset you may have to justify that need to the immigration folks.

Couple the need for Dutch with a job specification that requires experience but leaves out the degree requirement and that may improve your chances.

Having said all that, it is always better to talk to an immigration attorney. Talk to your company, write down the questions you have, and do a one hour consultation with an immigration attorney. It should cost the company less than $200, but a lot of things will become clearer.

</comment><comment><USER3> Speak to the company and ask them, but given your age and lack of degree I suspect it'd be close to impossible for you to qualify for an H1B visa.

So L1B maybe your only option, you might be able to combine it with the holiday visa waiver hack so you can spend some time working in the US during your first year.

</comment><comment><USER4> To work, I think the only option is H1-B (unless there is a trade-agreement like NAFTA for Canadians). But I think a Bachelor's degree is required. Do a quick check with an immigration web site. Good luck.

</comment><comment><USER5> Immigration rules are very complex and the best think you can do is ask for advice to an immigration lawyer or to a serious immigration service provider online.</comment>