How I Made $19,000 on the App Store While Learning to Code - <AUTHOR> http://nathanbarry.com/how-i-made-19000-on-the-app-store-while-learning-to-code/ <comment><USER2> Reminds me, I should write my own story of how I made $190 on the App Store while exercising 15 years of coding experience.

<comment><USER3> He made something people want. That trumps programming excellence.

<comment><USER4> Keep in mind -- $20k over 10 months is a pretty low return on the investment involved in an application.

Perhaps the revenue will trend upwards ... but if we put our team on an application like this and only saw $20k in revenue in _10 months_ , we'd be out of business.

<comment><USER5> You're mixing up development time with sales time. Your team would probably bang this out in a few weeks and then move on to another app. In the meantime, the app would be selling in the store not costing you developer resources.

<comment><USER4> I'm not mixing them up. $20k over 10 months would barely cover the development and support costs.

</comment></comment></comment></comment></comment><comment><USER6> Whoa, Nathan Barry was my first boss. He was 19 and designing websites—I was 14-15 writing PHP CMSs. We worked in an incredibly hot 2nd story office above a bike shop in Boise Idaho. Good times.

Glad to see you've found success in the iOS realm, while helping improve people's lives in a real tangible way.

<comment><AUTHOR> Dustin, those were good times. Glad to see you frequent HN. Hope everything is going well for you now.

<comment><USER7> Nathan,

Great story and way to find a niche that was unserved. There are so many out there (niches that is) with archaic products/services that are begging for right person to come along and improve them.

Good luck with the dedicated venture!

<comment><USER8> Cool to see other developers who were/are in Boise. I wish we had a way to find each other besides linkedin (and not get sucked into pitching/getting pitched a job)

<comment><AUTHOR> Email me (firstname.lastname@example.com). I know quite a few developers in Boise.

</comment></comment></comment></comment></comment><comment><USER9> I want to see you _super_ -succeed, and in a lot of ways you already have succeeded.

The most important part is not that you made $19,000 while teaching yourself how to code, but that you are actually making the world a better place. I would angel fund this idea (if I had the money) the minute I would read _gives a voice to anyone who cannot speak_. I would venture fund your product that minute I would read _replaces a $7,000+ medical device that is bulky and difficult to use_.

<comment><AUTHOR> Thanks. It really has been a huge success. I haven't given funding much thought since the product is already developed, but it would definitely help with marketing.

</comment></comment><comment><USER10> Amazing. I'm so glad someone coded this. The price is a bit high for our institution(a struggling community hospital with 10 ICU beds) but hopefully I can get IT to consider it in our budget. The machine we use is a one-off and rarely works properly. I'm embarrassed to say that most of the time we avoid communicating with patients that are intubated. Coding a replacement has been on my to-do list for the last 2 months and I'm happy to strike it off.

<comment><AUTHOR> Please get in touch with me (email@example.com).

<comment><USER10> Will do.

</comment></comment></comment><comment><USER11> Good job. I think one of the most important things you did is you knew who your customer was before you started your application. It seems obvious, but most apps in the app store have no target customer.

<comment><AUTHOR> Yes, it was very targeted development.

</comment></comment><comment><USER12> A good designer can score on the Appstore even if he is a novice programmer.

Unfortunately that's not true for good programmers that suck at design.

<comment><AUTHOR> Maybe. Though Apple gives you a lot of tools to help you make good (though simple) looking applications. UIKit is pretty detailed.

Here is my simple design advice if you don't know how to design:

* Use the provided UI elements, they look great.

* Choose a primary color and an accent color, don't get carried away.

* Make sure everything lines up. Choose a number (10 pts) and align everything off of that. Aligning your UI elements will go a very long ways to make everything look good.

* If you have paragraphs of text set the line height to around 1.5 (depending on the font).

* The only thing provided by Apple that is Ugly is the UIButtons. Draw a simple, clean button or ask someone to make one for you.

If you follow these simple ideas you can make a pretty good looking application without knowing how to design.

<comment><AUTHOR> Also, a programmer who can't design is able to release an ugly, but functional application. A designer who can't program will only make a beautiful but useless design. In this case I think the programmer has the advantage.

Though my philosophy is to learn both.

<comment><USER13> > Though my philosophy is to learn both.

How many of your friends are designers or artists?

<comment><AUTHOR> I have a couple friends who are designers. But many more who are programmers.

</comment></comment></comment></comment></comment><comment><USER14> What made you decide on the $199 price point?

Additionally, do you think the $199 price point might it out of reach for a lot of people who would benefit from the app but who have tights budgets?

<comment><USER15> That was my first thought as well. People with disabilities aren't exactly rolling in cash. I think it's great you're not exploiting desperate people to the same extent the people entrenched in the medical-industrial complex are, but imagine... what if you released it much, much cheaper? How many people would you help then? Or even did it as a kickstarter and open-sourced it and put it out for free. Then people with disabilities and their families could contribute. My other reaction is that you mention talking with speech pathologists. It might be a good idea to get input from people actually using AAC, i.e. people with disabilities.

I totally appreciate your awesome effort and am glad you make a living. I just would suggest if you want to take it further, learn more of the landscape and think about it politically and where you want to make your profits from.

<comment><AUTHOR> I've struggled with this a lot. But ultimately I decided I want to create the best product possible, and charging more helps me do that. If I gave it away for free I wouldn't have the financial ability to focus on it and put in the time to make it better.

Thanks for the feedback.

</comment></comment></comment><comment><USER16> This kind of story always reads like a financial fail. He should pay himself a normal programmers salary (something around 50k/year for a beginner might be fine, also he is not a beginner, because he knows a lot about presentation and UX design) and THEN calculate his profits. Probably this App is way in the minus. Also you must consider that he just has around 1k customers and all of them on the same plattform. Also these customers only paid him once and not regularily. That are 4 big risks: low number of customers, no guaranty to get any dollar next month and a high dependence on one plattform and high dependence on the success of this one app. Another risk, I nearly forgot about, is that the core feature of his app, the speach engine, is not even his own. What if Acapela decides they make their own App in this direction.

Concluding everything I think he has a low income, unprofitable, high risk business. Not the position I want to be in, when I quit my dayjob.

 _edit_ I just now see that you posted the link yourself, Nathan. Please read all "he"s as "you". ;-)

<comment><AUTHOR> You are right in a so many ways. From a business perspective it isn't the best model (I am looking for ways to add recurring revenue), I probably made minimum wage if you break down my time, and I don't have many customers.

But here's what I do have: emails from customers every single week saying how what I built is changing the lives of their child. Does anything else matter beyond that?

I'm working on something I care deeply about and am able to still provide for my family while doing it. That's the position I want to be in.

<comment><USER17> And there really is nothing to fear. You can supplement that income by building apps for other people in their spare time now that you have a valuable skill. There's no reason you can't have it both ways.

<comment><USER16> Also a valid argument. I think it's the first time in my whole life that I got valuable content from 2 counterarguments in the same thread. HN is awesome!

</comment></comment></comment></comment><comment><USER18> Money aside, it's great you've created an awesome product for a group that really could use more assistance. Thanks for building something to better the human condition, and showing others they don't need to sacrifice everything to do it!

<comment><AUTHOR> Thanks for the kind words! You really can build a lot in your spare time.

</comment></comment><comment><USER19> This storey shows its not necessary to sell a million to make an app worthwhile.

How many other niche apps are out there? Anything where you carry a computer or clipboard around is eligible. Specific to a task, or a general fill-in-a- spreadsheet-and-email-it app would fit the bill.

<comment><AUTHOR> Exactly. Not a huge amount of money or customers, but a few people find what I made very valuable which makes it worth my time to create.

I'm sure plenty of people have a moderate success story like mine.

<comment><USER19> My buddy did a basketball scoring app. Much nicer than what was there, certainly better than the NCAA DOS-based crap. Makes a little money. Had a ball writing it.

</comment></comment></comment><comment><USER20> Here's what I would do.

1) Get a copy of it in the hands of special ed departments at schools (for free). And the people who oversee the IEP's, counselors etc. You will then get referrals to sell the full priced product after people see a demo.

2) Lower the price of your product so it's a no brainer for parents.

Having the price so high is going to invite competition that will sell the same app at a lower price. While that can still happen with a lower price it is more likely at the price point you are at because people will be more motivated to compete (and anyway you will sell more at the lower price..)

3) Come up with a different name or buy onevoice.com. If the product is recommended you need people to be able to easily find your website. Not only don't you own the domain name onevoice.com but you don't come up (now) in any search results.

Edit: "search results" - as in when someone hears about it and they google it not the app store.

<comment><USER21> He has <http://onevoiceapp.com/> redirecting to his homepage. I agree that it would probably be a good idea to use the domain instead.

</comment></comment><comment><USER22> This is fantastic. I hadn't heard of many apps that target this niche specifically. What are you planning in terms of marketing?

PS. I love the UI I see in the screens... and would love to play with it. I wonder what type of animations you're using etc. Also, beautiful and simple website.

</comment><comment><USER23> Nathan, that's a great market to develop applications in. There's a general need for your application, and you're helping society at the same time.

I recently saw a short segment on 60 minutes, "Apps for Autism", which demonstrated and explained applications in your applications field, autistic children. Here's the video URL: [http://www.cbsnews.com/video/watch/?id=7385686n&tag=cont...](http://www.cbsnews.com/video/watch/?id=7385686n&tag=contentBody;storyMediaBox)

</comment><comment><USER24> Cool. I've been noticing more of these apps (that virtualize an expensive custom device) lately.

Here's another example, an app that replaces whatever gadget piano tuners used to carry: [http://itunes.apple.com/us/app/tunelab-piano- tuner/id3355683...](http://itunes.apple.com/us/app/tunelab-piano- tuner/id335568329?mt=8)

</comment><comment><USER25> I have a similar non-technical background (UX/design) and was curious how you were able to not get frustrated and outsource the development work rather than doing it yourself. If I was in the same position, I would get too restless and want it built right away.

Any advice on how you got through that situation? Thanks.

<comment><USER26> From experience...it also helps to have some patient programmer friends around to help (I'm one of the developers that helped Nathan build the app). :)

<comment><AUTHOR> So true. I recommend every get themselves some smart, patient friends. Makes all the difference.

</comment></comment></comment><comment><USER27> Thank you, Nathan. I'm glad to see an application for pediatric patients. Hopefully, the price will go down in a future. You could try to advertise it among neurologists:

<http://www.neurology.org/>

</comment><comment><USER28> Very impressive Nathan.

I like that it is not just another one of those app products that is targeted at the masses.

Instead, you found a niche, talk to customers and found a nice selling price, which from the user's perspective is a bargain.

Congrats

</comment><comment><USER29> He's actually disrupting the market for the $7000+ device, I wonder how many the $7000+ people sell, presumably he could take most/all of their sales + a load on top who couldn't afford it in the first place.

I assume at this point the $7000+ device people think they have some better features that make it worthwhile and are reluctant to do their own iPad app. (Innovators Dilemma).

<comment><USER30> I think that the price paid for a $7000+ device is that they're buying the whole package, hardware, software, AND support as a whole package. So that when there's a problem there's one person that they need to contact to get it resolved (in the ideal case).

I'm sure the author could go that way, buying iPads or other Android tablets (if the software gets ported), package up they software, make it auto boot, etc and form it into a complete package. The price then wouldn't be just the app, but the tablet, installation costs, and future support as well.

It would be cheaper, but not by the same order of magnitude that the app is cheaper than the $7000+ device.

</comment></comment><comment><USER31> Congratulations Nathan! I'm extremely encouraged to hear about your success - especially since it's an application that addresses a real need and helps create value in society. I'm really inspired that you can do good in this world and make some money at the same time. Thanks so much!

</comment><comment><USER32> This is a really great and inspiring story, IMO. Shows how modern technology can truly change people's lives. Sure, this kicks some speciality device companies out of the market (like I'm sure was done many times now by smartphone & tablet apps), but who cares about that?

</comment><comment><USER33> Please give us list of companies making these overpriced $7K+ devices. Any of them public?

<comment><AUTHOR> Dynavox is the largest of the companies. Just search for augmentative and alternative communication devices.

</comment></comment><comment><USER34> Great story, and nice work! This happened because you decided to push ahead and make something you saw the need for clearly.

Sometime soon I might share the story of how I made $100,000 on the (... what to call it?) browser while learning to code.

</comment><comment><USER35> So, why is it better than Proloqu2go? (My relatives have already bought that for their nonverbal son, so this we are unlikely to be a sale unless you're _really_ convincing).

<comment><AUTHOR> Ease of use is the big difference. OneVoice is very user friendly compared to all the other applications. Also it uses realistic looking icons rather than stick figure / cartoon drawings.

</comment></comment><comment><USER36> Great job.

Although, I'm particularly interested in how you made the decision to quit your full-time job and create a startup based on one-time sales? Is there a service behind this startup?

<comment><AUTHOR> There isn't a service behind the startup. You're right that one-time sales is the ideal model, but I haven't thought of a great way to do recurring revenue.

<comment><USER37> In app picture pack/vocabulary expansion purchases? "New voices"?

</comment></comment></comment><comment><USER38> Very inspiring. Do you use AdWords or any other forms of advertising? What percentage of your sales are to people you contact personally?

<comment><AUTHOR> I contact Speech Language Pathologists personally, and it is their clients that purchase the application. Maybe 20% come from personal contacts in some way.

No, I haven't used AdWords yet.

<comment><USER38> The rest primarily coming in from natural Google ranking + the app store pages then?

<comment><AUTHOR> A lot from reviews that have been written on different industry sites and blogs. Also the Facebook page has 500+ fans.

</comment></comment></comment></comment><comment><USER39> Great story. You might market some to colleges and universities that have speech pathology areas. They would love this sort of app.

</comment><comment><USER40> Does this work well for people who have suffered strokes as well?

<comment><AUTHOR> Yes, it does.

</comment></comment><comment><USER41> Seems very inspiring. Thanks.

</comment><comment><USER42> Amazing!

</comment><comment><USER43> A lot of people will focus on the money and come away wondering if they can make a quick buck too. Hopefully people don't miss the point. You made a cool app for a really niche market that had a huge need for this inexpensive tool. And you helped some people really needed it. Kudos, man.

You learned to code for iOS, helped people in need, and made a buck off it. Awesome.</comment>


There will be no license fees for the use of "hackathon" in Germany - <AUTHOR> http://www.young-targets.com/free-licences/

<comment><USER2> Um, no, they clearly say they're going to try and sue any commercial entity that uses the word hackathon to 'fund' their own conferences. Which is clearly wrong and I hope someone hands their ass to them. The whole thing is written in deliberate doublethink.

No mention of removing it in that article at all.

<comment><USER3> From the section marked "Update (07.05.2013)"

> Thats why we will delete the trademark "hackathon". 10 companies that have > been asked to license, have been informed that we take distance from plans > to charge royalties.

</comment></comment><comment><USER4> They claim to be a "non-profit" organization organizing community events. I think it was not very intelligent on their part to (according to their post) try to finance themselves by effectively trademark-trolling community events.

</comment><comment><USER5> "The attempt to take revenue for non-commercial purposes on a licensing model failed."

Irrespective of my opinion on trademarking words: How can they say after just a few days that a revenue model failed? It seems a bit fast.

<comment><USER6> I think it's likely they realized they were wrong about how many people would back off and settle.

<comment><USER7> Much rather, given that they intend to start up this "Tech_Hub" thing, they realized, that enforcing licensing claims (and the negative PR that generates) would give them a bad public perception... esp. in the dev world which they seem to be targeting with said "Tech_Hub"

<comment><USER5> So, uh, they're trying to target the dev world while not actually having the mindset of the dev world?</comment></comment></comment></comment>


Flow-based programming and Erlang-style message passing - <AUTHOR> http://bionics.it/posts/flowbased-vs-erlang-message-passing

<comment><USER2> "E.g. backpressure is a thing that is not easily supported implicitly in Erlang/Elixir in the same way as in FBP languages where the bounded-buffer channels provide implicit backpressure by blocking the sends on the outport they are connected to when the buffer is full."

This is one thing that I've learned from using both Go and Erlang now... I like asynchronous message passing as a better _default_ , but if I had to choose between the core language supporting _either_ synchronous message passing with Go-like channels _or_ async message passing like Erlang, I'll take the Go case, because it's _way_ easier to implement async on top of what Go provides than it is to implement sync on top of what Erlang provides. And while sync may be the exception, when you want it, you _really_ want it, and Erlang doesn't offer anything for it that I can see, at least at user level.

As the phrasing above may suggest, though, what I'd like is both. Of course sync can only be used in the local OS process and async works across networks... that's just something you'd have to work with as a fundamental constraint. That's life. Even with a conventional manifest type system (i.e., C++/Java), if you treat the two types of communication as different types, you won't mix the two up.

If were going to try to do flow-based with Erlang, I'd look at moving code to the data rather than the other way around. That has its own negative tradeoffs too, but I think in the end they'd be less bad than trying to send data through Erlang's system. As good as Erlang is at message passing, it's very not designed for pushing lots of data repeatedly through the messaging system. If you use granular flow constructs than involve pushing data through a couple dozen flow elements and you model those as processes, you're going to get _hammered_ on all the copying that implies. (For anything other than binaries, but what kind of flows do you have that involve sending a binary through it such than none of the flow elements modify it?) Though I'd say in the end, even with moving code around, the conclusion stands and Erlang isn't really good at flow-based itself.

<comment><USER3> What do you mean by sync being hard to implement in Erlang? Simple synchronous requests can easily be implemented:

        Server ! {request, Request},
        receive
            {reply, Reply} -> {ok, Reply}
        end.

This is also the default way when using the built-in gen_server library.

<comment><USER2> In Go, sending a message on a channel is actually a sync point between the sender and the receiver; a channel blocks until it has both. (Buffered channels may not necessarily block, but you have to treat them as if they do anyhow in general.) Thus, the send itself is synchronous, not just the fact that we're "waiting until we get an answer". If the sender proceeds past the line that sends on a channel, we know a receiver has received it.

I don't know of an efficient way to emulate this in Erlang. Suppose you have a pool of 10 undistinguished server processes in Erlang and you just want "a" process to answer. If you use Go channels, you have all 10 listen on a channel, and you automatically get the behavior where as long as one is available, that one will pick up the request. You also automatically get backpressure; if none are available, the attempt to send will hang. (There are ways of turning that into a timeout if you need to.) In Erlang, you could try to create an 11th coordinator process, but you'll create a lot of additional traffic and take a latency hit on every request. (Plus, some of the naive ways you might implement that will get you in further performance trouble with mailbox scanning. This is going to be a non-trivial thing to build correctly.) Or you could just randomly pick and send, but if you pick one that's currently answering a slow request while others are available, you get spurious latency.

It hasn't been a killer in my system, but it's been an annoyance.

And to be clear, let me reiterate that having using both systems, I actually still like Erlang's behavior as a better _default_. It's really hard to deadlock Erlang... it's much easier to deadlock Go. The async message passing is, in my experience, much easier to use correctly without much thinking. But it would be nice to also have a "channel" in Erlang, despite the limitations it would have to have with not being able to go across nodes. In fact, technically speaking, subject to that limitation (and there are already a couple of other functions limited to the current node), there's no reason I could see why this couldn't be added to Erlang.

See for instance: [https://github.com/inaka/worker_pool](https://github.com/inaka/worker_pool) , particularly the section discussion "strategy", and the discussion about "available_worker" and its discussion on performance implications, and its specific references to the other tricky edge cases to consider. Of course, programming languages being programming languages, someone else can do the work and you can just use it, but in Go, this behavior is quite trivial. (By contrast, in Go, proper _asynchronous_ messaging in the Erlang style is a challenge. Whacking together a "slice" and some "messages" isn't that hard, but you've got _other_ edge cases to consider... to say nothing of network transparency!)

<comment><USER4> I was not the who asked but thanks for the reply jerf, indeed I thought you had in mind more complex cases than the GenServer one! It is not that sync is hard in Erlang/Elixir but once you want to involve multiple processes, it may be the case.

For example, in pipeline parallelism, we don't want to be completely sync between the stages, because it would mean you would always have at most N "events" in the pipeline at any moment (where N is the number of stages). If you want to have some sort of bound, you need to devise a message protocol between the stages. That's what the folks behind Reactive Streams are doing with their back-pressure work.

This is exactly the kind of situations I want to make easier in future Elixir versions. I talked about them from the perspective of collections (and not FBP) in my Elixirconf keynote: [https://youtu.be/EaP0y4pdKD0?t=1846](https://youtu.be/EaP0y4pdKD0?t=1846). We are experimenting with the addition of a GenRouter that would specify how processes communicate (with back-pressure) eventually supporting custom dispatch rules. We are also looking into projects like Basho's sidejob ([https://github.com/basho/sidejob](https://github.com/basho/sidejob)) and Ulf's jobs ([https://github.com/uwiger/jobs](https://github.com/uwiger/jobs)) to ensure we can also provide sampling based routing.

On top of that, we need to discuss data-based parallelism (where we split/spread the data once instead of passing it around) and how it would all fit with supervision trees. It is a lot of work and we likely won't be able to solve all cases but I am very excited about the possibilities if we get it right.

<comment><USER2> I would encourage you to consider whether there may be more useful primitives that the Erlang VM could support for this case, if you aren't doing that already, which I can't think of how to quickly check for so apologies if I'm late to that party. Hopefully you'll have more pull on the matter than Some Schmoe like me would. :) A lot of these things strike me as either inefficient or even infeasible to emulate via strict user-level Erlang-style message passing, but are really easy with some well-chosen primitives added in, even if they are only exposed very carefully at the Elixir and Erlang levels.

Some of this is personal development bias, I have to admit, in that I don't really "believe" in APIs that try to abstract away the difference between local and network traffic. Making the difference _small_ may be advantageous, but I actually don't like it when it's reduced to zero. Usually, of course, a language goes the direction of making local traffic easy and network traffic unbelievably hard, Erlang makes network traffic easy, but then makes it somewhat more difficult to know whether you're going across the network or not. That's really useful for a lot of things, but sometimes if you're willing to agree that you won't need the network stuff you can get some big wins; in Erlang-land, for instance, consider the way larger binaries are shared instead of copied, an optimization that works locally and is mostly meaningless across a network.

<comment><USER4> > I would encourage you to consider whether there may be more useful > primitives that the Erlang VM could support for this case, if you aren't > doing that already

It is a chicken-egg issue though. Before proposing anything like this to the OTP team, I need to prove it is useful and have folks build something relevant with it. So I need to make the best with the abstractions we have today and then make a case.

For this reason, a lot of the challenge will be in optimizing the "topologies" to avoid copying as much as possible. Data-based algorithms for parallelism (farm, pmap, etc) will likely be more useful and that would be the next milestone.

> Some of this is personal development bias, I have to admit, in that I don't > really "believe" in APIs that try to abstract away the difference between > local and network traffic.

That's a very good point. I was also warned by Konrad from the Akka team that, if we rely on ack messages for back-pressure, they likely won't work on a distributed setup as messages have no delivery guarantees. This means we wouldn't be able to abstract the network anyway.

</comment></comment></comment></comment></comment></comment><comment><USER5> Dealing with back pressure in general is a huge subject. How do you deal with a producer that produces more than a consumer can handle? I had just finished reading an excellent interview with the collaborators of the Reactive Streams API that talked about wrestling with this:

[https://medium.com/@viktorklang/reactive- streams-1-0-0-inter...](https://medium.com/@viktorklang/reactive- streams-1-0-0-interview-faaca2c00bec)

<comment><USER4> Indeed! I have been following the efforts behind Reactive Streams with a special focus on how they are tackling back-pressure.

</comment></comment><comment><USER6> An interesting approach is join calculus. This tutorial builds on the same "chemical" metaphor used in the article

[https://sites.google.com/site/winitzki/tutorial-on-join- calc...](https://sites.google.com/site/winitzki/tutorial-on-join-calculus-and- its-implementation-in-ocaml-jocaml)

<comment><AUTHOR> Thanks, will check this!</comment></comment>


Facebook has been collecting call history, sms data - <AUTHOR> https://www.theverge.com/2018/3/25/17160944/facebook-call-history-sms-data-collection-android <comment><USER2> dupe of [https://news.ycombinator.com/item?id=16670291](https://news.ycombinator.com/item?id=16670291) with active discussion ([https://news.ycombinator.com/item?id=16670291](https://news.ycombinator.com/item?id=16670291) was a dupe as well but first post didn't gain traction)</comment>


Why figuring out what's behind a big gender paradox won't be easy (2018) - <AUTHOR> https://arstechnica.com/science/2018/10/gender-differences-in-personality-are-bigger-in-egalitarian-countries/ <comment><USER2> This is only a paradox if you believe that society dictates gender expression, and not the other way around.

<comment><USER3> Hmm, we should probably get the terminology worked out. Sexuality seems more appropriate than gender. For most of history (the only exception is the last 10-20 years) gender could be considered concrete since it was a synonym for sex. Sexuality is by definition fluid and changing.</comment></comment>


Ask YC: Tests that Approximate a Developer's Skill Level? - <AUTHOR>

I'm asking this from a hiring standpoint, and want to be able to do this cheaply and quickly, i.e. not major certification tests). My company has used mindleaders.com's TechLabs in the past as a proficiency test in some situations. Is there anything better out there? In addition to competence testing, the idea behind this is that a hiring manager has an excellent reference to questions he would not have thought of or not been able to answer. <comment><USER2> There is nothing that beats seeing someone's actual code, or having them do a live coding exercise. Even if it's pseudo-code.

Playing the quiz game is unrealistic, and you'll only end up with developers who are good at taking quizzes. I haven't really seen this be a good indicator of the developer's actual skill.

Now, if you're just looking for replaceable cogs, then I guess any quiz would work. Personally, I prefer that I work with developers who have good critical thinking skills and are able to elucidate their intentions when it comes to writing software.

<comment><USER3> "There is nothing that beats seeing someone's actual code", completely agreed. A good way to see this is to let some problems to be solved and sent with the curriculum, like those acm-icpc problems.

</comment></comment><comment><USER4> You need to decide how important this is to you. When you mention the words "cheaply" and "quickly" as part of your hiring process - you shouldn't be surprised to what kinds of results you get - especially if you get poor results. If you rely or use some sort of certification test especially if you rely on somebody else to do it, you will most likely miss out on the aspects of the interview and the person that tells you how they handle stress, pressure, challenges and time compression. Sometimes, the best interviews are when you can observe "first hand" how someone deals with a problem and solves it - do they struggle with it but work their way through it and shine, OR do they hit a brick wall and break down putting blame all over the place. If you feel you don't have the expertise to hire someone based on skills required, then bring along a team or other individuals to hit those areas. But then again, that kind of hiring process would drive your costs up but you still need to consider your long term costs of hiring the wrong people.

</comment><comment><USER5> Try to find out how passionate the developer is about his work.</comment>


Ask HN: Solution for eye strain? - <AUTHOR>

A while back there was a post on wrist pain with some good advice on circumventing it—posture, etc.
Do any of you have problems with straining your eyes? I've been forced to wear sunglasses while I work at the computer, even though I've set the brightness and contrast settings to zero. I wear contacts, and for extenuating circumstances, don't have glasses, nor will I for another month or so.
I realize the most obvious solution would be to level down computer usage, but that's not a possibility for me right now.
What do you do for eye strain? <comment><USER2> Billiards!

Everyone here will surely suggest frequent breaks, which is great advice. I'm going one step further to suggest that you play billiards during those breaks. However, you must play correctly. Be sure to line up shots with both eyes open. Alternate your focus between the tip of the cue, the cue ball, the object ball, and the target pocket until you are confident your shot is aligned. Doing it this way will strengthen your game, as well as your eyes.

</comment><comment><USER3> Try changing your ambient lighting - when I had an ergo exam at work, they suggested that I make sure that the areas beside my monitor were of a similar brightness to the monitor (the idea being that it's stressful for your eyes to adjust brightness when you look to the side of your screen). I can't say I've noticed a difference, but the logic makes sense to me.

Also see if you can have some surfaces around your monitor that are different distances away from your seat, so you can periodically look to them for a few seconds to allow your eyes to adjust and not get strained into one fixed "focal length".

Lastly, don't underestimate the impact of some good eye drops. Many offices are much drier than they should be, and this effects contact-users even moreso. Throw some drops in now and then, and if you have an enclosed office, run a humidifier in there to get some moisture in the air.

<comment><USER4> In my experience, it's not only for the times you look to the side of the screen. Working in a dark environment with a relatively bright monitor is very harsh on the eyes, even you stare at the monitor all the time.

So reducing the contrast between the ambient and the monitor is key to reducing eye strain, at least for my eyes. You can even improve this, by choosing a dark green or blue background, and some beige like pale color for foreground in you IDE or text editor.

</comment></comment><comment><USER5> I have this problem because I have one eye. I do a few things.

1) Make sure my monitor has a high refresh or response rate. Either greater than 75hz or less than 4ms (2 is better) respectively

2) You may be making things worse by setting the contrast down. Your have to do extra work to discern what it's seeing when the contrast is too low.

3) Lighting /fundamentally/ important. Use good lighting, which first means nothing that "flickers," like the average over head office lighting is terrible. You need to use soft lights. I have a rope light strung up behind my monitors so there's a nice soft, yellow glow coming from behind them at all times, plus a larger lamp pointing straight at the back of my central one. That back lighting helps a lot. For overhed, I generally use dilluted sunlight from the windows, but failing that a brightish floor lamp with a nice blub witll work fine.

4) Sit far enough away from the monitor. I sit between 2 and 3 feet back.

5) I use large fonts for everything. When I read web sites, I hit CTRL++ all the time to make the font larger. In my IDE, I use 16 to 18pt font.

6) Whenever possible, /especially/ when programming, I use inverted colors, so black background and light colors for the text. White text generally works, but you might find a light gray to be easier on the eyes.

If you do all that, you'll be fine.

</comment><comment><USER6> I was given some advice on this once:

Lie in bed at night (make sure it is dark so your eyes don't try to focus on anything). Do some eye exercises (up-down, left-right, generally just moving them around a bit) while your eyes are open. I think the rationale behind this is that when you stare at a screen not only are your eyes focusing at the same distance but they are not moving around as much as they should be. Don't know if this is scientific so caveat emptor etc.

</comment><comment><USER7> Question: do you have a good quality LCD screen?

I have 2 laptops: a MacBook and a Dell Vostro. I can use the MacBook comfortably for 5 to 6 hours at a stretch, whereas using the Dell for even 1 hour is a pain, even with brightness turned down to zero. Problem is, low-end laptop makers use crappy screens that burn your eyes. Even the MacBook screen is only okay-ish, not great. Buy a high-end LCD screen for your laptop. Your eyes will thank you.

Besides that, try to use low-contrast color themes on your OS. Windows and most Linux distros have too many bright colors in their default themes, which make your eyes hurt after a while. Windows Classic is a great theme if you're using Windows. On Linux, you might want to use vanilla ClearLooks.

Set your editor to use large, variable-width fonts. Also, ZenBurn and Wombat are two color schemes that are incredibly easy on the eyes. These are available for both Emacs and Vim.

Oh, and take frequent breaks. Wash your eyes. Spend more time in natural light. Glasses are better than contacts, so get them as soon as you can manage to.

</comment><comment><USER8> Somewhat related (though not directly related to your problem): Flux ( <http://www.stereopsis.com/flux/> )

It changes the color temperature of your display. By reducing the amount of blue in the evening, the idea is that you can fall asleep easier and not tire your eyes out late at night. It's done purely by timezone/time of day (no sensors taken into account), but it works well enough for me. I don't know if I fall asleep any faster, but my eyes are certainly happier when browsing late at night.

Note: The windows version is far more customizable than the mac version. I also haven't tried the linux one.

</comment><comment><USER9> Look away often, preferably at distant objects.

Take breaks, go for a walk and look at natural things like trees, lakes etc.

Sit with your eyes closed for ten seconds.

[these are the things I do]

<comment><USER10> I know it isn't possible for everyone, but I've always found it really good for me to have a window close to my computer. I'll look out the window every time I stop to think.

</comment></comment><comment><USER11> The most obvious solution is not to level down the computer usage (although that should be a step). Rather than asking the community you most definitely should go to an eye doctor as this is a _serious_ problem that you have to wear sunglasses while working on a computer.

If you don't take that suggestion work in a brighter room (like near a window) in order to counter the screens brightness... fluorescents probably will only hurt this problem.

</comment><comment><USER12> Blink. :) It's silly, but it's really easy to stare at the screen for long periods of time, especially when reading. Catch yourself doing this, and force yourself to blink more often.

Instead of just turning away to adjust your eyes, do your whole body a favor: stand up and walk away. Go find a drink, and in the process look around to rest your eyes. If you drink a lot, you'll naturally want to walk away from time to time. :)

</comment><comment><USER13> Wow, you should be seriously concerned. First things first, stop wearing your contacts...completely. You're drying out your corneas basically. Seriously, even though it sucks, stop wearing your contacts and get eye drops and use them every few hours. Rinse and repeat until your eyes get better else go to a doctor.

Having to wear sunglasses is just insane, there's a serious problem here.

</comment><comment><USER14> I read a bout a neat "hack" so to speak here on HN some years ago that I've used to some degree of success.

Tense up all the muscles in your body for about 20 or 30 seconds and then relax them. It _should_ trick the muscles in your eye (the ones giving you the eye strain) to relax, too. YMMV, but it's worked for me.

</comment><comment><USER15> I've made some notes from DVD I've watched recently. It was made by Dr. Svetlana Troitskaia and is in russian. Just wanted to share with my English speaking friends.

<http://dpaste.com/hold/120724/>

</comment><comment><USER16> Even though I'm young, I'll occasionally wear reading glasses with a 1.00 prescription. I most need my glasses when working with CSS and pixel perfect layouts. For me, the use of reading glasses significantly reduces eye strain by the end of the day.

</comment><comment><USER17> Go, see a doctor. Read up on workplace ergonomics (make sure there is no window behind the screen). Try another monitor. Don't wear contacts when working. Don't work at night or in the early morning. Maybe use a dark background.

</comment><comment><USER18> My eyes got much better after I started playing tennis. I think the act of tracking the ball is basically the same as the eye exercises you're suppose to be doing every 30 minutes (looking in the distance then up close, etc).

</comment><comment><USER19> My "eye strain" usually consists of me wearing contacts for too long. Especially in front of a computer screen, they dry up a bit and irritate my eyes. Wearing glasses when the eyes get irritated is the best solution here!

</comment><comment><USER20> You must realise that the eye is delicate, and long term stress can lead to adverse effects; However, I frequently just wash my face/eyes whenever I feel I'm strained, and do some other things for a couple of minutes.

</comment><comment><USER21> I recommend (in addition to the other tips here) that you try switching your IDE to a variable width font.

Heresy, I know, but reading is about shape recognition, which is more difficult in mono-spaced fonts.

</comment><comment><USER22> I suggest you play with the color schemes for your editor. I've found white backgrounds w/ text tend to tire my eyes more than a deep blue background w/ gray text.

<comment><USER21> I made a similar shift a few years back. If you use Visual Studio (at least older versions), it can be a bit stubborn about applying color changes. Restarting it helps.

</comment></comment><comment><USER23> I could not help but be amused by the fact that your blog post renders as grey text on a yellowish-grey background. (Not your fault, I know...)

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

</comment><comment><USER25> take breaks.

not necessarily standing up and walking around, but change your range of focus. look out the window every once in a while, or something similar.

its simple, but it works wonders for me.

</comment><comment><USER26> get your eyes near water, humidity is important

</comment><comment><USER27> For me, fever is one of the things that causes problems with screen brightness. I have serious health problems. Getting generally healthier has reduced the frequency with which such things are a problem for me. You might try treating for fever and see if that makes any difference.

</comment><comment><USER28> I'm planning on getting laser eye surgery in 10 years when I can't go higher in my contact and glasses subscription. I think entrepreneurs can handle the deadliness of eye strain in order to change the world.</comment>


Facebook's 'Awesome' Announcement: Video Calling - <AUTHOR> http://www.usatoday.com/tech/columnist/edwardbaig/2011-07-06-facebook-video-chat_n.htm

<comment><USER2> I think a good point to take away from this announcement is that it might be easier for FB to match g+'s features than for g+ to grab FB's massive user base.

Then again, the "g+ integrates with all existing Google services" is a very strong argument.

I'll get the popcorn.

</comment><comment><USER3> oooh, I hope gmail and g+ get that soon

</comment><comment><USER4> 'Awesome'...not even close. It does not work on linux. Its prompting me to install an exe. not cool!!

</comment><comment><USER5> "Quick. Someone announce something this week. Anything."</comment>


Tell HN: YC Summer 2009 application is due today. - <AUTHOR>

The YC summer 2009 application is due today at 10pm PST. I am curious as to how many of you submitted, or will be submitting, the optional video of founders?<p>http://ycombinator.com/s2009.html <comment><USER2> We just passed the number of applications from last cycle, so it looks like this will be another record, considering we usually get around a third of the applications on the last day.

<comment><USER3> Now that it's closed - what was the final count?

<comment><USER2> Unless my clock is wrong there's still half an hour left. But we never quote the number anymore anyway, because now that we have competitors we don't want to tempt them to get into a number war.

<comment><USER3> Damn, I thought it ended at 10 EST rather than PST! All this time I could have been making teensy little anal adjustments!

<comment><USER4> And yet, if your team is solid, those tiny adjustments are probably a waste of time.

<comment><USER3> Absolutely! I doubt that if we don't get accepted it'll be because we didn't tweak our application enough. At the same time, it doesn't hurt, and on occasion I do find things that really could be done better. (As it turns out, I added a good deal to one question that I'd breezed over the first time.)

<comment><USER4> Yeah, I was just musing that us engineers love to focus on things which don't really matter. It's an interesting phenomenon, and I do it all the time too. I wonder if the solution is as simple as continually asking ourselves, "Am I spending my time on one of the most critical aspects of the project?" Anyway, I didn't mean anything by it. :)

<comment><USER3> Yep! No offense taken. :-)

It's not just programmers, FYI. I got that from the dank world of creative writing. Spending a month working on a sonnet = not-totally-fun times.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER5> I'm just now clearing my room of coffee mugs, pizza boxes, and bowls of soggy cereal. I'm unshaved, and have hardly stepped outside my dorm room for the past 48 hours. There's a celebratory beer in the fridge, and then I'll probably sleep for an entire day.

We've started building something really awesome, and although I'm sleep- deprived and red-eyed, I'm incredibly excited. I can't wait until the summer when I can go full time on this project. YC or no YC, it's going to be a wild ride.

<comment><USER6> your post is an inspiration.....what it's all about! Best of luck w/ your startup.

</comment></comment><comment><USER7> Submitted on saturday, with a video of me in my living room, unshaven and underslept. No expectations :)

<comment><USER8> Oops, the slot for unshaven and underslept is taken! Gotta shave.

It was a good exercise and now I appreciate much better why Cali Lewis, Amber Mac and Natalie Del Conte - show off their fumbling at the end.

It was done with both hands on the cam. The cam's auto-focus had problem adjusting to the tube light in the basement and created a few blurs.

It wasn't scripted, but i practiced it 4-5 times, everytime missing some links or forgetting a key word!

<comment><USER3> After shooting ours and giving it a second look, I was filled with a newfound awe for Ze Frank, who makes speaking really fast both interesting and hilarious. I never realized just how hard it is to say stuff quickly and not be a complete weirdo.

</comment></comment></comment><comment><USER9> We submitted on Monday with a simple photo booth video made in a cafe. It was just of us talking about the project and ourselves. Took us about 20 minutes from start to finish - may as well do it!

<comment><USER10> We did the same thing too. We use photo booth to make a real short video intros.

<comment><USER11> Yup, Photo Booth is great. +1 to using it to make the YC app video. And +1 to adlibbing, as well. As an ex-improviser (think Whose Line?), scripts just seem wrong ;)

<comment><USER3> +1 to all of that as well! We spent about 3 hours just recording a lot and saying different stuff until it worked. As a result, our final video was a bit hyperactive and a lot lame, but we managed to actually convey information without sounding like zombies.

</comment></comment></comment></comment><comment><USER12> What about percentages? Frequencies are nice, but I wonder what percentage of applications include the optional video.

</comment><comment><USER13> We'll be submiting the video. You can say so much (or so little) in one minute though that we're still figuring out if we want to just ad-lib or have like a mini-script to read.

<comment><USER2> From the videos I've seen so far, I'd recommend ad-libbing. The point of the video is to see what you're like, and most people don't seem particularly bright when delivering (or worse still, reading) a prepared speech.

Since this was the first time we'd tried videos we didn't realize this would be a problem. Next year we'll advise everyone to ad-lib.

<comment><USER14> _most people don't seem particularly bright when delivering (or worse still, reading) a prepared speech_

Hear. Hear. Delivering a scripted speech well is HARD, and the people who are famous for doing that well practice a lot. Most members of the hacker community are much more practiced in engaging in conversation about the passion for technology, and thus make themselves look better in speech and in print by treating each communication opportunity as a conversation with an unseen interlocutor.

<comment><USER15> +1, personally I'm pretty comfortable talking to all kinds of people in person but our team found that talking to a camera unscripted was hard (compounded by the amount of information it sounded like we needed to pack in to 60 seconds). It was still really helpful for getting our message straight though, even if we don't get in to the YC summer cycle it will be helpful for raising money.

</comment></comment></comment></comment><comment><USER16> Paul: Did you guys reviewed early submissions this time round? We submitted our application when it was only half done 2 weeks ago but have been editing and resubmitting for the past 2 weeks and there was quite a bit of change from our very first submission.

We sort of figured out that our application hasn't been reviewed since our demo url did not register any visitors yet on google analytics.

</comment><comment><USER17> We submitted a video for www.trailbehind.com.

I have a Macbook, and it was really quick to make the video. MacBooks come standard with camera, recording, and editing software.

</comment><comment><USER18> Remember, everyone, there's no point in sending in more than one copy of your application!

Applying to Y Combinator twice has the same effect as applying once.

<comment><USER19> As an aside, I took a look at your submissions, and it's paltry, meaning that you got most of your 1400 points from commenting. Good comments.

<comment><USER18> Thanks.

Either the people here don't get math jokes, or I commented too late to catch most readers. I'll try reposting on some more appropriate thread later...

...since if any joke can be repeated more than once, it's that one, right? Maybe everyone's just heard it a thousand times.

</comment></comment></comment><comment><USER20> Props to the YC crew for giving all of us this opportunity and hacking (machete, not keyboard) their way through the applications.

I hope our video isn't too boring. We tried to keep it light, but we had to script it to say everything we wanted to say in <= 1 minute. I would have much rather submitted the outtakes, but we aren't getting graded on hilarity. :)

Good luck to all!

</comment><comment><USER21> Solo founders? Anyone besides me.

<comment><USER3> I've talked to a few solo founders, so they're definitely there! Good luck to you all.

</comment></comment><comment><USER22> What if we never got a rejection letter, BUT We also never got contacted for a confirmation. Does that mean they are still going through them?

</comment><comment><USER23> I wonder if this video will be used to identify founders who would look good in a TV interview... and so enhance their chances of getting funding from VCs, especially early on.

<comment><USER24> You can give negative points? lol, I require that button ;)

PS. Good luck peoples

<comment><USER25> Yes, you need 100+ karma I believe before you can.

<comment><USER24> Thanks for the example ;)

</comment></comment></comment></comment><comment><USER26> we're literally deploying our demo now, and then submitting.

<comment><USER26> except github is down and we have various gems we need to deploy. Gonna be a late one, first [many] of many we hope ..

<comment><USER26> done.</comment></comment></comment>


The first AI universe sim is fast and accurate - <AUTHOR> https://phys.org/news/2019-06-ai-universe-sim-fast-accurateand.html <comment><USER2> > The first AI universe sim is fast and accurate—and its creators don't know > how it works

This is why Stephen Hawking was very vocal against machine learning. Everything we know today came from a long process of study and documentation. Machine learning can give you accurate predictions, but its contribution to the scientific process is questionable. Just like mathematical "proofs" by brute force are interesting, but don't add much to our understanding of the underlying problem.</comment>


Evaluation and Comparison: MongoDB vs Redis, Tokyo Cabinet, and Berkeley DB - <AUTHOR> http://perfectmarket.com/blog/not_only_nosql_review_solution_evaluation_guide_chart

<comment><USER2> Maybe I'm a bit biased (being a happy user of Redis) but the insertion-time for Redis is very good even for a large data set. In their comparison table, they state that is limited. It would have been very interesting to see the configuration files for each test and the benchmarking scripts.</comment>


Inflation, thus Real GDP Growth, Much Worse than Reported - <AUTHOR> http://www.youtube.com/watch?v=zPkTItOXuN0

<comment><USER2> The only interesting part was that a way to control inflation is to control expectations of inflation.

This ends up with a feedback loop that alters our measure, and to me a perennial question of how do you accurately measure something that knows it's being measured?

No upvote though. I would have rather read it in a blog post.</comment>


Ask HN: Please list a recently angel-funded tech pioneering company - <AUTHOR>

Hi,
as the title says list here all the companies funded by angel investors, you think will pioneer future technology (please biotech too).
I'm not listing one because right now I can't think of any (this is why I posted this). After you've all submitted, I hope the results would help some entrepreneur (I'm expecting a pattern of some sort). <comment><USER2> Well ... this is what I view as the biggest problem with the current US funding situation.

"Pioneering", the stuff that truly breaks new ground---I use FPGAs as my major example---tends to need a _lot_ of money. Much more than the typical angel pattern of 5-6 figures. E.g. SpaceX, it was initially funded by PayPal co- founder Elon Musk, $100 million out of his own pocket.

(And even then there are limits to their pioneering, what they're seriously focused on is driving down the costs, something that hasn't really been seriously done before.)

Except for unusual angels like him, as far as I can tell we aren't "inventing the future" anymore.

Don't know about biotech though. How much of what they're doing is truly pioneering?

</comment><comment><USER3> How would you know? It takes a while to recognize a technology as revolutionary, and angels typically get in early.

</comment><comment><USER4> Fluidinfo looks like it may be one.</comment>


Yatri: First electric motorcycle to be made in Nepal - <AUTHOR> https://www.yatrimotorcycles.com/ <comment><USER2> There are other companies targeting other areas of the market.

Ultra high end: Harley Davidson Livewire, Zero SR/F

High end: Fuell, Cake

Mid range: Zero S/DS/FX

Low end: Sur-on Light Bee, CSC City Slicker

The biggest problem for electric bikes is recharge time. Motorcycle batteries are physically small and have low range, and take hours to recharge compared to 1-2 minutes to refuel at a gas station. That makes them unusable for anything except city commuting or tossing in the back of a truck on the way to the OHV area. Meanwhile the fastest growing segment in motorcycling is adventure riding, which is for bikes that can be ridden thousands of miles at a time both on and off road (sometimes 50-100 miles away from paved roads or services of any kind).

<comment><USER3> Wow, what kind of adventure bikes can be ridden for thousands of miles at a time? I only get about 200-250 miles on dirt, and that's with an extra tank of gas strapped to the back.

Are they like 650cc+ with huge fuel tanks? I shudder to think of trying to pick one of those up on a muddy slope...

Anyways, an electric bike that could do ~200 miles seems like it could do well as a replacement for smaller engines, but I haven't seen any dual-sports that realistically claim a range of over 100 miles with normal use, and you're right that that would barely get you away from the major highways in most places.

<comment><USER4> I assume they mean with periodic stops for gasoline, which is a lot more common than a quick charge station.

That said, it's an interesting thought exercise to go unsupported and make your own (solar) fuel via motorcycle. Of course to maximize charging / travel you'd have to ride at night, which would sort of suck.

<comment><USER2> Ewan McGregor and Charley Boorman just completed a ride from South America to Alaska on electric motorcycles. They had some Rivian electric support vehicles carrying charged batteries, and also people along their route often let them top off their bikes while hosting them. They'll be making their trip into a web series called Long Way Up (the third in a series of trip blogs they've done over the past 15 years)

</comment></comment></comment></comment><comment><USER5> Is there a reason for most motorcycles not to be electric by now?

Few people take them on the road, they seem to be used mostly in cities, so there's not a big problem with range.

They are small, so you would have less of a problem setting up the charging infrastructure in your house.

<comment><USER6> Electrics are still milking the premium market, is the problem.

In the West, a brand new Ninja 400 fuel injected sport bike is $US 5000, new. Through economies of scale, and their getting the bugs out and widening tolerances over its 30 years history, they're now the AK-47 of bikes: cheap and dependable. You can spend $20k on a bike, but you don't need to. Similar Honda and Suzuki models. Harley and BMW can't and won't touch this part of the market.

The Zero starts at $US 11k but you need to spend more like 18k to get something as useful as the current gas bikes.

<comment><USER7> This is correct. Also consider that almost any Japanese bike can be had used for $3k or under. Electric bikes are in low five figures and the used market is basically non-existent. We have no data on how reliable they will be long term either. Plus range and availability of charging stations is a thing.

But I think the main reason we won't see ICE motorcycles go away soon is simply because used bikes are such a huge market. You can buy a 1970s Honda and get it to run again very cheaply and it will just plugging along. You can't do that with cars for the most part and the safety features have improved with cars with every decade while for motorcycles they have only improved substantially in 2010s with the EU mandating ABS as a requirement. So a 2005 bike is going to be essentially the same as a 1975 one, safety-wise. I would bet in 2070 people will absolutely be riding 100 year old bikes.

<comment><USER4> > while for motorcycles they have only improved substantially in 2010s with > the EU mandating ABS as a requirement.

I really wish it were possible to get advanced cornering ABS on something that isn't a bajillion cc displacement. The smallest, most reasonably sized adventure touring bike I've seen with cornering ABS is the new BMW F750GS, which is still >800cc. I sat on one the other day and the weight and height seemed manageable, but what I'd love is a 650cc or smaller Japanese bike where I could get advanced safety tech. I mean, these bikes are where a lot of new riders like myself start, and attract exactly the sort of rider who is likely to do something stupid and reactionary in a corner.

I have ABS on my 500cc Honda, which is honestly as big a bike as I'd have wanted to start on, and I'd have happily parted with the extra dollars for cornering ABS and traction control had they been options. I cannot for the life of me figure out why the best life-saving tech isn't at least an option on beginner-sized bikes.

Pardon for the tangent rant :-)

<comment><USER8> I'd suggest taking a look at a gentpy used Triumph Street Triple (R/S Optional). Depending on the year and mileage you're looking between $6000-9000 with stock ABS and with 675cc right in that sweet spot you're looking for. I picked one up 2 years ago, 2014 with 1400km and no regrets whatsoever.

<comment><USER4> I think cornering ABS is only available on the new 1050? I think that's also the case with the Tiger (I'm part of the adventure-touring market segment). You can get cornering ABS on the huge 1200, but not the 800, IIRC.

Like, I want a 500cc Honda twin with cornering ABS. As it is, I have ABS, but cornering ABS looks like a solid evolution.

</comment></comment></comment></comment></comment></comment><comment><USER9> The specifications and renders certainly look interesting, but there's nothing on that site that indicates there is anything more than specs and renders.

<comment><USER10> I felt that the site was a tease. The pictures way too close up, not showing you the whole thing, hidden in the dark. When I finally reached a picture of the device, I thought the very square 'battery' (?) looked chunky. "And now for something completely different" more pictures of the same (or very similar?) except with a tablet glued on. Marketing.

<comment><USER11> I hope that's not a touch screen. Anyone who has ever ridden a bike can tell you how impractical and distracting that would be. Try using it in the rain, with gloves on.

<comment><USER12> Definitely looks like a touch screen interface from the photos.

The screen itself is distracting enough even without being a touchscreen. I really disklike the tesla-esque design with it, it feels completely wrong for a bike.

</comment></comment></comment></comment><comment><USER13> I mean, electric mopeds have been a thing for decades now, when I was growing up certainly most kids had electric mopeds as petrol ones were more expensive and required more maintenance. Somehow these companies make it look as if electric bikes are something new that hasn't been done before - that's nonsense.

<comment><USER14> Sure, they're a thing, but where was this where 'most kids had electric mopeds'?

I think classic 'moped territory' would be somewhere like South-East Asia. I don't see too many electric mopeds there.

<comment><USER15> Growing up in the Swedish country side, most kids including me had mopeds. Not electric, but considering I'm 42yo it just wasn't a thing back then.

Usually they used the same parts as more powerful motorcycles, but with cheaper breaks and crippled engines to reduce the max speed.

And that's how I got my only engine mechanics experience, by finding ways to make them run fast.

Sort of the worst of both worlds, fast motorcycles without proper breaks driven by kids without traffic experience/common sense.

</comment></comment></comment><comment><USER16> One thing I notice with electric motorcycle is that riding experience is much better than gasoline version ( way less vibration and better throttle control ). In Taiwan there's a local company call Gogoro selling electric scooter (Scooter/motorcycle is a very common here). Another interesting feature is that it doesn't rely on charging station rather you swap the empty battery for charged ones from any battery exchange stations ( of course you had to pay for it).

</comment><comment><AUTHOR> Here is a video of the motorbike running in the Himalayas [https://youtu.be/uNKIqbdIS9o](https://youtu.be/uNKIqbdIS9o)

<comment><USER12> Not a single shot of the bike going around a corner...

Those footpegs look very low. At 0:32 it looks like the rider's toes are only an inch away from the ground.

<comment><USER17> Based on :017 and 0:38 the footpegs appear to be at the same level as the center of the wheel.

An SV650 appears to have slightly higher pegs.

I agree they look low, but checking out other bikes they appear to be in similar places.

</comment></comment></comment><comment><USER18> Sarolea: Belgian electric superbike right here [https://www.sarolea.com/motorcycles](https://www.sarolea.com/motorcycles)

</comment><comment><USER19> How much of this is actually made in Nepal? India's been churning out vast quantities of increasingly decent domestic/joint venture bikes for decades now and is starting to get serious about car manufacturing, but I wasn't aware that Nepal was building much in the way of anything -- there can't possibly be much of a local supply chain.

</comment><comment><USER20> I loved the design, pausing and accepting the 2h charge to run 100km.

The iPad instrumentation however I don't approve of and can't accept. I at least hope it all goes orange-red on black at night.

</comment><comment><USER21> It's great. It seems like something that could make me buy one.

</comment><comment><USER14> Sorry the website is a complete disaster for me on Firefox OS X.

In any case, it looks targeted at the higher end.

I would think electric bikes/mopeds can be cheaper and more reliable than gasoline, and there would be a very big market, especially in poorer countries, competing with Honda Cubs etc as general workhorses.

<comment><USER22> Worked fine for me on Chrome / XFCE / Linux.

I think it would be fantastic if electric motorcycles would become popular here in the US. Maybe then I wouldn't have to hear super loud and scary exhaust pipes! Who am I kidding though... the people who do that would find some other way to be annoyingly inconsiderate.

<comment><USER23> That loudness is a safety feature. It helps keep drivers alert for the presence of a motorcycle. I don't ride, but I see our streets are becoming more and more dangerous as people ditch sedans for SUVs and trucks; extra sound proofing is added to cars; and people continue to text, eat or be under the influence while driving.

<comment><USER4> I'm by no means an advanced rider, but I am a rider, and I don't buy the "pipes save lives" argument in the slightest. The cone of sound goes out the back of your bike when accelerating: pretty much alerting the motorists I'm least worried about to my presence.

I'm way more worried about people doing stupid stuff in front of me than behind me. And when I'm worried about people behind me, I'm mostly worried at stops that someone will rear-end me... when my hypothetical loud pipes would be idling at a purr anyway.

On my very sensible Honda CB500X, I have a quiet exhaust and have a daytime headlight modulator, which I'm positive _has_ caught the attention of distracted motorists. I'd take a very cool and very legal headlight modulator over loud pipes 100 times out of 100.

<comment><USER2> Bright lights save lives!

</comment></comment></comment></comment></comment><comment><USER24> The title is a bit click-baity. It almost reads like it's the first electric bike, which it's not. Also interesting choice in name. Project Zero is pretty similar to the Zero bike. Zero bike has been around for quite awhile now. I am glad to see some competition in this space.

</comment><comment><USER25> May I take this opportunity to highlight to our American friends that its not pronounced as Nay-Paul. No. Its pronounced as Nay-Paal.

<comment><USER26> With languages that are not written phonetically with wide regional variations in pronunciation (English), I think it makes sense to not care as long as you're understood. Might as well demand that Japan be pronounced Neep-on or Cuba Cooba and not Cyooba.

<comment><USER27> I always liked the BBC's approach -- English words and well settled loan words are allowed to have regional pronunciation, foreign words go via the pronunciation unit. So news readers pronounce (or try in the case of that Icelandic volcano) locations, names etc as they are intended to be. Names are personal, it's offensive to mispronounce them. Make the effort, even if it involves struggling a little with sounds that are not a natural part of your language.

"Not care so long as you're understood" reminds me of US TV approach, where every report pronounces that funny foreign name different, often painfully wrong; or periodic fashions in education -- during the sixties and early seventies UK fashion for "no one cares about grammar so long as the little dear is understood". It's coloured, limited and ruined my communication for the following 50 years, despite much effort to self teach as an adult. I'll probably never put all commas, semicolons and what not in the right place naturally, nor clear sentences structure -- they come with a second editing pass. A pass HN mostly doesn't get, sorry. :)

We got, in total: "verbs -- doing words, adjectives -- describing words, nouns -- naming words, tenses, and the use of the full stop". I honestly remember nothing else of grammar being taught whatsoever.

TL;DR I would start wars against "not care as long as you're understood". It's a horrible, disrespectful and limiting approach. Happy New Year. :)

<comment><USER28> I'm generally in agreement and want to anticipate an objection—that the sounds of foreign words often fall well outside of any given person's native set of sounds.

Take Iran for example. It's rendered often in English as [ɑɪ.ɹæn] (eye-ran). What it "should" be is [i.ɾɑn] (ee-rahn). Fortunately, all the sounds in [i.ɾɑn] are ones that occur in most varieties of English (with the exception of the [ɾ], but that's minor), so most speakers are able to accommodate without issue.

Now compare that to Shanghai: its English rendition is [ʃeɪŋ.hɑɪ], and its Mandarin pronunciation is [ʂâŋ.xài]. Most Englishes lack the voiceless retroflex fricative [ʂ], and the same for the voiceless velar fricative [x], and to make matters worse, Mandarin is tonal, which puts the correct pronunciation of this word squarely out of reach for almost all English speakers.

It still makes sense to insist that people try as hard as they reasonably can. Perhaps to say that speakers should get as close as possible—in the case of Shanghai, for example, maybe this would mean [ʃɑŋ.hɑɪ] instead of [ʃeɪŋ.hɑɪ].

<comment><USER29> And Deutschland isn't actually pronounced Germany or l'Allemagne. At some point you have let go and allow a language to have its own words for geographic terms outside of where it is spoken. It can be I bit difficult where borders have shifted (revisionists would insist on "true" names even if they don't know them themselves without referencing a historic map while everybody else is making a conscious effort to avoid those) or where a name was forced on a place by invading foreigners that got ousted again, but it's perfectly possible to navigate that problem-space without trying to go native pronouncement everywhere.

In fact, in a case of politically questionable names it could even be seen as a sign of antirevisionist acceptance to introduce a badly butchered (if necessary) transcription and pronouncement of the local name into a language that used to have a name that isn't acceptable anymore.

</comment></comment></comment></comment></comment><comment><USER30> People in Nepal and developing countries need cheap/er gasoline powered motorcycles/scooters.

I'd start with people with first world problems to develop the tech.

Anyway, video, what they have done seems pretty insane given the timeline, not sure how much is off the shelf

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

<comment><USER27> No, they need western help to skip right past fossil fuel infrastructure. It should probably be a key requirement of any western aid or trade.

<comment><USER30> No, they need to be allowed to use fossil fuel infrastructure to develop just like us.

The arrogance we have developed such that none of us in the first world uses or have used electric bikes predominately in our families, now, or a 100 years ago by our ancestors when they first appeared and were about technologically the same as today.

This, it's good enough for them idea is astounding. This road has been well travelled.

<comment><USER27> Don't get me wrong, I'd like the West to rip out all fossil infrastructure as soon as possible, so we're using electric cars and bikes too. I figure it's better for us _and_ them.

Why is it any different to the developing world experience of mobile phones? They expanded directly to mobiles without any landline phase first, and because of that have been surprisingly successful. Do you claim Western arrogance here?

If we simply shrug and let all the developing countries go via the worst of Victorian era coal, then 20th century oil, RCP 8.5 starts to look like an optimistic pipe dream. Everyone will suffer.</comment></comment></comment></comment>


Chicago Gamers Will Have to Pay an Extra Tax on PlayStation Store Purchases Soon - <AUTHOR> https://www.usgamer.net/articles/chicago-gamers-will-have-to-pay-an-extra-tax-on-playstation-store-purchases-soon <comment><AUTHOR> > The 9 percent tax will hit PlayStation services on November 14 ... > PlayStation isn't the only digital service affected by Chicago's Amusement > Tax. Spotify, Netflix, and Xbox are all subjected to the same taxes enacted > under mayor Rahm Emanuel and has seen Netflix raise subscription prices in > Chicago. ... The tax isn't popular in the city of Chicago, but Emanuel says > the taxes are necessary to shore up the city's pensions. Several companies > like Apple and Netflix are taking action against the city for the taxes, but > until any changes are made PlayStation gamers are now subject to the same > tax as other amusement activities.</comment>


Senator Kirsten Gillibrand: The U.S. Needs a Data Protection Agency - <AUTHOR> https://medium.com/@gillibrandny/the-u-s-needs-a-data-protection-agency-98a054f7b6bf <comment><USER2> The US needs an agency that helps businesses and citizens with security. If China is attacking our citizens we need a national style defense of our business and IP. For example, right now lots of decisions are left up to each company to decide how to best secure data. Equifax is a great example. They were leaving servers unpatched and I think not removing access for former employees.

There also needs to be a licensing system for any company or person that is going to have access to PII data for more than 25k people. People in this position need extra training, especially developers. Many developers learn about information security on the job but it should be a formalized training system. We keep seeing the same dumb mistakes being made at companies like leaving databases unsecured or S3 buckets public.

</comment><comment><USER3> Not a bad idea, but the fundamental thing that needs to happen is that US laws have to be fully updated for the computer age, with privacy protections and limits on what collected information be used for.

</comment><comment><USER4> The U.S. doesn't need more agencies, it needs to prevent china from stealing valuable intellectual and copyrighted property like the F-35 stealth fighter data china stole to build its j-20.

</comment><comment><USER5> IIUC, the proposal is for a government agency that would take enforcement action on behalf of aggrieved citizens. I'm skeptical that it would achieve those goals, at least for most citizens. Consider the FCC under Ajit Pai.

I'm guessing a better solution is this combination:

(a) legislation similar to the EU's GDPR, _and_

(b) legislation that prohibits consumer-oriented products and services from requiring EULAs or other licensing terms that give up the rights granted under (a), _and_

(c) grants private individuals the right to bring lawsuits for violations of (a,b)</comment>


CMS Airship - Simply Secure Content Management - <AUTHOR> https://paragonie.com/blog/2016/08/cms-airship-simply-secure-content-management-now-available-in-aws-marketplace <comment><USER2>
      Never again worry about zero-days.

That's pure snake oil. The little asterisk compounds their mistake:

      Because updates are securely installed within one
      hour of their availability, the time-scale of a
      fix being applied is no longer meaningfully
      measured in days. Zero hours are the new zero
      days.

That's not what "zero day" means. It isn't the time between a security fix becoming available and a vulnerable system installing said patch. Rather, it's the time between a vulnerability being discovered and said vulnerability being _disclosed_. It's great that this vendor has mechanism for quickly distributing security updates, but that isn't going to mitigate zero day vulnerabilities. Rather, zero days would be mitigated by SDLC activities that would help them discover novel vulnerabilities in their code, like design/code reviews, static analysis, or fuzzing. If they want to reassure their customers that they're good at infosec, then they need to do a lot more than spout some BS about how their automatic update mechanism stops zero days when it can't.

<comment><AUTHOR> > That's not what "zero day" means.

It's half of the practical concerns with zero days, and the half that most software teams have the least amount of control over.

> It's great that this vendor has mechanism for quickly distributing security > updates, but that isn't going to mitigate zero day vulnerabilities.

See: [http://www.tripwire.com/state-of-security/incident- detection...](http://www.tripwire.com/state-of-security/incident- detection/drupal-psa-if-you-didnt-patch-within-7-hours-consider-your-site- hacked/)

> Rather, zero days would be mitigated by SDLC activities that would help them > discover novel vulnerabilities in their code, like design/code reviews, > static analysis, or fuzzing.

That's correct, but nontechnical users aren't interested in these details. What's more interesting to them is "When it's fixed, I won't have to do anything to not be vulnerable."

> If they want to reassure their customers that they're good at infosec, then > they need to do a lot more than spout some BS about how their automatic > update mechanism stops zero days when it can't.

I'll refine the wording a bit better. Thanks for the feedback.

<comment><USER2>
      What's more interesting to [non-technical users] is
      "When it's fixed, I won't have to do anything to
      not be vulnerable."

Then say that instead of making specious safety guarantees.

</comment></comment></comment><comment><USER3> On a recent (php) project, I ended up with a setup where all the source code files were owned by user A but the php-fpm pool executing them was running as user B, i.e. web requests had no way of writing or modifying a php file that could then be executed over the web. (There was a user-B-writable directory for end-user uploaded files, but none of those would ever be executed remotely due to the nginx configuration.) There was no auto-update mechanism involved, but if there were it would have been a user A cron job.

Of course, you can still get yourself in trouble by doing dangerous things like mixing input with `include` or `eval`, but otherwise it seems like a strong mitigation against the worst exploits you see in php applications. Can or could Airship run in a configuration like that? It doesn't seem to be mentioned in the documentation.

<comment><AUTHOR> > Can or could Airship run in a configuration like that? It doesn't seem to be > mentioned in the documentation.

The documentation needs more TLC, and is my current focus. But yes, running the updates from a cron script under a different user than www-data (or equivalent) is not only possible, it's a good idea.

</comment></comment><comment><USER4> Sounds a bit hyperbolic "Never again worry about zero-days."! Hooray! Install this and you'll never be hacked!

I think it's good to build something with security in mind, but this just seems to be self-defeating in tone and mentality.

Proceed with caution.

</comment><comment><USER5> The wording of this is down right irresponsible.

Talk about the potential to mislead people that don't question and test the ongoing state of software.

If you think you absolutely secure - you more likely to be(come) absolutely insecure.

There's a reason developers of the better quality security focused software out there are the same people that are quick to point out potential flaws or weaker surfaces of their designs...

<comment><AUTHOR> This is a great opportunity to mention that we have a bug bounty program, as well: [https://hackerone.com/paragonie](https://hackerone.com/paragonie)

(Take note of the "average time to resolution".)

</comment></comment><comment><USER6> If I happened to find a 0day RCE, what stops me from being mean and using the sites I compromise to DDoS the update servers?

<comment><AUTHOR> Nothing, to be truthful.

Nothing stops you from being mean and using a pre-existing botnet to DDoS the update servers, either.

Let's say you manage to pop the WordPress update server and turn every WordPress website on the Internet into a DoS bot. That's 25% of websites, and most likely a large cross-section of all available servers.

There are very few networks that could possibly shoulder that traffic, and I certainly don't have the budget for it right now.

<comment><USER6> This is relatively easy to account for though, if updates are properly authenticated it shouldn't be much of a problem to host them in multiple locations.

DDoSing s3 and competition can be excessively difficult and not every update needs to be served from there.

</comment></comment></comment><comment><USER7> Looks nice, but I don't think a CMS is the right place to do things like HPKP (HTTP public key pinning). That's the webserver's job. Any CMS can be used with HPKP if you just add a couple of lines to your Apache/nginx configuration.

Many of the other items on the list are unfair to CMS's with a large and thriving plugin ecosystem. WordPress has a whole bunch of 2FA plugins to choose from. Security is a worthy goal, but when it comes to CMS's, a healthy FOSS ecosystem is just as important to support and nurture. You can't try to do everything in the core.

<comment><AUTHOR> > Many of the other items on the list are unfair to CMS's with a large and > thriving plugin ecosystem.

It is explicitly an _out-of-the-box_ comparison.

> Security is a worthy goal, but when it comes to CMS's, a healthy FOSS > ecosystem is just as important to support and nurture. You can't try to do > everything in the core.

We agree. Airship is free software and has powerful support for plugins. We just try to solve 99% of the security problems in the core so plugin developers can just use the features we provide and don't have to worry about low-level concerns.

</comment></comment><comment><USER8> Yes! It's about CMS's compete a bit on security. Content Security Policy needs to be by default. This page says CSP is managed "through a web interface", which worries me a bit.

<comment><AUTHOR> > This page says CSP is managed "through a web interface", which worries me a > bit.

Administrators can update a JSON file that is used by CSP-Builder to generate the Content-Security-Policy headers. We wanted to normalize this browser securtiy feature and make it user friendly for users to manage these headers.

</comment></comment><comment><USER6> What this page really needs is code comparisons showing why exactly CMS Airship is better than the competition. While _I_ mostly believe the comparison chart, it just doesn't look very convincing.

Shouldn't be any kind of a challenge to demonstrate than your code quality is (or at least appears to be) better than Drupals, Joomlas and WPs.

<comment><AUTHOR> That's a good idea. I think I'll do that on the next post.

</comment></comment><comment><AUTHOR> > Never again worry about zero-days.

Before anyone asks, the point of this statement isn't "We'll never have a security hole."

It's "the time-scale that the patch will be released and applied is less than one hour, not multiple days".

An alternative way of putting it might be: Zero hours are the new zero days.

<comment><USER9> For anyone that has used this, how are automatic updates with custom code/plugins?

I think Wordpress gets a lot of flak from all of the custom code/plugins while the WP core has been pretty secure in recent years in fixing 0-days?

(I'm not a WP dev, but we do contract out for our company's marketing site and just going off what I hear from them)

<comment><AUTHOR> > I think Wordpress gets a lot of flak from all of the custom code/plugins > while the WP core has been pretty secure in recent years in fixing 0-days?

I don't entirely agree or disagree. It's a nuanced topic.

The WordPress core team sat on a Unicode-based SQL injection flaw for _years_ , after it was known to their team, then tried to sneak the fix in under the guise of Emoji support.

[https://kraft.im/2015/05/how-emoji-saved-your-sites- hide/](https://kraft.im/2015/05/how-emoji-saved-your-sites-hide/)

Part of fixing 0-days is minimizing the feedback loop from "bug known" to "bug fixed". The other part is minimizing the feedback loop from "bug fixed" to "fix deployed".

To their credit, they at least _try_ to solve the latter problem.

To their detriment, if you compromise their update server, you've got RCE on just over 25% of the websites on the Internet. (Among other things, their update hooks use unserialize(), which allows for some fun exploitation techniques.)

With Airship, root access to our update server doesn't let you forge updates. You'll need an airgapped Ed25519 signing key, and then you still have a catch-22 to resolve:

      A. Announce your presence to the network (untargeted attack)
      B. Find another way to hack every other Airship just so you can perform a silent,
         targeted attack against a single Airship.

This catch-22 makes exploiting a pilfered signing key unattractive to nation states, who generally want their activities to be covert.

<comment><USER6> > Among other things, their update hooks use unserialize(), which allows for > some fun exploitation techniques

S-s-surely not?</comment></comment></comment></comment>