Clay – A language designed for generic programming - <AUTHOR> http://claylabs.com/clay/ <comment><USER2> In case anyone else is interested in C-replacement type languages, I've been collecting a list:

      ATS: http://www.ats-lang.org/
      BitC (seems to be dead): http://www.bitc-lang.org/index.html
      Tart: https://code.google.com/p/tart/
      Deca: https://code.google.com/p/decac/
      Cyclone: http://cyclone.thelanguage.org/wiki/Why%20Cyclone/
      Nimrod: http://nimrod-code.org/
      Habit (Haskell adapted for systems programming): http://hasp.cs.pdx.edu/

Plus of course the obvious ones, Go, Rust, D. I don't keep track of these projects' usability, I just write them down as I come across them.

<comment><USER3> We indeed have a similar list. Habit had slipped from my memory. I really wish Cyclone gets resurrected. There was quite a bit of discussion on HN when its closure(no pun intended) was announced. You may like digging into Felix.

Apart from this family the other I have been window-shopping on is the high performance/productivity family, consisting of the likes X10, Chapel and Fortress. Thanks to Oracle, Fortress is now abandonware.

Off late I have been quite disappointed by this trend in HN to be very hostile to things that I would consider to be the very distinguishing traits of a Hacker. Now it seems some people here compete to jump over the other to complain against things that encourage/facilitate or are meant for tweaking, learning, exploring and breaking: all things that I consider the very essence of hacking. Case in point, recent discussion on Gentoo.

The behavior reminds me of a bunch of desperate and wannabe Pink Floyd fans we had in college, who would jump to rally the crowd to disco to the opening strains of Another Brick in the Wall, much to our bewilderment but apparently to look cool.

There is always Java, if you are happy with it, stay happy with it.

<comment><USER2> I've actually never programmed in Java (just a little Clojure). I'm hoping to take a class in it this fall.

Felix is on my big list of interesting languages, but I didn't really think of it in the same category as these. I'm sort of aiming for something better than C when I get around to writing an OS kernel, you know, "someday".

<comment><USER3> Oh! the Java comment was not for you.

I think for your use case decac, clay, bitC and Cyclone would indeed be ideal. There is this Haskell like language with effects based typesystem that might be worth looking at, the name continues to escape me.

One can go very low level with Felix, after all you can write inline C, C++ and define C and C++ functions, but those are not type checked. ABI could also be an issue given that it compiles to C++.

All the best for fun with kernel writing :)

<comment><USER4> > There is this Haskell like language with effects based typesystem that might > be worth looking at, the name continues to escape me.

Disciple ? (DDC) [http://disciple.ouroborus.net/](http://disciple.ouroborus.net/)

</comment></comment></comment></comment></comment><comment><USER5> I'm not sure why people feel the need to be an asshole here. People develop new languages, they are not all meant to be production ready from day one. If the language is not interesting to you, move along.

<comment><AUTHOR> yes I agree, one should respect the manhours put into it and evaluate it objectively before pouring in things that give others no better overview over it.

And in every language thread someone starts mentioning how good go is,.

</comment></comment><comment><USER6> Since the website is pretty bad at giving you a high-level overview, here are two projects using it:

\- [https://github.com/jckarter/Vinyl](https://github.com/jckarter/Vinyl)

\- [https://github.com/Blei/claytracks](https://github.com/Blei/claytracks)

I don't see anything here that would make me consider this over Go, though. Languages are rarely chosen based on their designs alone. Go is about as bleeding edge as I can get away with in my job.

A big problem is lack of good, built in UTF-8 support. But the no garbage collection thing is interesting as I didn't spot any explicit allocs or frees anywhere when I skimmed.

<comment><USER7> Go and Clay seem to have very different intentions.

Go is about concurrency. Clay is about generics.

Go is garbage collected; Clay is not. This allows Clay to be more suitable in environments where GC non-determinism/performance is unacceptable.

<comment><USER8> It's funny that Go keeps getting mentioned when people talk about new C-like languages because as you point out, it's not actually very C-like. In fact, the only thing that I'd say was truly C-like is the ability to create standalone executables. One of the dead giveaways is that most interest in Go seems to be coming from the Python community.

A better comparison would be Rust and Clay. Rust seems to emphasize correctness in the type system, Clay on making existing C++ style generics less cumbersome to use (a frankly laudable intention). On the other hand, I think it would be easier to give Rust the good things in Clay than the other way around.

</comment></comment></comment><comment><USER9> I don't understand why modern languages still use the "mutli-value context" in place of tuples. When I first saw it in Matlab, I thought it was a mistake, and seeing it in Go and Julia reinforced this belief. IMO, tuples are superior in almost every way, as they are first-class, i.e. they act like any other values. They also avoid such sad patterns:

      record MyInt (value:Int);

      // delegate any function called with a MyInt to be called on its Int value
      [F] overload F(x:MyInt) = ..F(x.value);

where `..` must be used to extract multiple values in a single-value context. This could easily avoided using tuples.

The only advantage of Matlab-style multiple values is that they allow a kind of return-value type overloading, i.e. some Matlab functions perform less work if you don't only consume 1 return value. But I believe that this could be easily solved with a first-class code pattern.

<comment><USER10> Maybe modern languages don't have tuples because modern programming language designers don't have any|much|enough experience with tuples? If I wanted to play with tuples, what language(s) would I have to use?

<comment><USER9> Python, or any of the functional programming languages: OCaml, Haskell, probably Scala. Tuples are really just syntactic shortcut for immutable lists, so Clojure would be appropriate as well, even though it makes no distinction between a tuple and a list (e.g. "rest" parameters to a variadic function are a list).

</comment></comment></comment><comment><USER11> This is weird:

        "In Clay, all arguments are passed by reference."

Looks like a nest of bugs waiting to grow as new users try out the language.

<comment><USER12> This is how the majority of dynamic languages do argument passing (Java/C# etc)

<comment><USER13> No, it isn't. I mean, it's possible to call what the majority of dynamic languages do "passing by reference", but it isn't the same thing as Clay does.

In C#, if I do

      int foo(int x) { x += 1; return x; }
      ...
      int x = 3;
      foo(x);

then afterwards the value of _x_ is still 3. In Clay, if I do

      foo(x : Int) { x += 1; return x; }
      var x = 3;
      foo(x);

then the value of _x_ is now 4. I agree with the grandparent: this seems like a really terrible idea. (In fact, I was going to post a comment saying so until I saw that someone else had got there before me.)

[EDITED to add: By the way, usually "dynamic languages" means "languages with dynamic typing", and Java and C# would be excellent examples of widely used languages that are _not_ dynamic in that sense. The question of whether values are passed "by object reference" (my preferred way of describing what they do) is pretty much entirely separate from whether the language is dynamic. For instance: C++ (not dynamic, not p.b.o.r.), Java (not dynamic, p.b.o.r.), MATLAB (dynamic, not p.b.o.r), Python (dynamic, p.b.o.r). C# has the unusual feature that some kinds of mutable objects are passed that way while others -- structs -- are passed by value, with the object (in principle) being copied when the call happens.]

<comment><USER14> Yet, in c# if you do

      int foo(obBob o) { o.x += 1; return o; }
      ...
      Car.x = 3;
      foo(Car);

Then Car.x = 4 which has confused a lot of new programmers. More importantly it's a more consice standard for cube(x) to cube(x) than to say x=cube(x).

<comment><USER15> Object fields are always passed implicitly by reference (if that makes sense). The value that holds the reference to the object itself is passed by value, unless you specify the "ref" argument modifier (in C#).

</comment></comment></comment></comment></comment><comment><USER16> The wiki is way more useful than the above link.

[https://github.com/jckarter/clay/wiki](https://github.com/jckarter/clay/wiki)

</comment><comment><USER17> Interesting, seems like this would be a good one to include in the recent go/haskell/D/rust shootout.

[http://news.ycombinator.com/item?id=6094668](http://news.ycombinator.com/item?id=6094668)

</comment><comment><USER18> Couldn't find any examples on the claylabs.com page but there is some in the github repo: [https://github.com/jckarter/clay/tree/master/examples](https://github.com/jckarter/clay/tree/master/examples)

</comment><comment><USER19> It appears that Clay's last released update was over a year ago.

<comment><USER20> Indeed, but the last commit was 21 days ago. Seems like it's being actively worked on.

</comment></comment><comment><USER21> Here's a Q&A thread with the creator of Clay, KS Sreeram (a good friend of mine from back in the day): [http://www.reddit.com/r/programming/comments/ctmxx/the_clay_...](http://www.reddit.com/r/programming/comments/ctmxx/the_clay_programming_language/)

It's over 3 years old so a lot of it is probably out of date, but still interesting to see the thought process behind the language design.

</comment><comment><USER22> interesting. are there any hello-world-ish examples around? struggling to find any on the page/wiki.

<comment><USER23> Found here: [https://github.com/jckarter/clay/wiki/Clay-for-C--- programme...](https://github.com/jckarter/clay/wiki/Clay-for-C---programmers)

        main() { println("Hello world!"); }

<comment><USER24> That and a few other examples should show up on the homepage or an "examples" page.

</comment></comment></comment><comment><USER25> Hint for all new language projects going forward: show your Hello World on the front page. A picture is worth a thousand words.

<comment><USER26> Actually, please do more than just "Hello world", which is not going to show how awesome your language is. Show a few snippets adding up to twenty or so lines of code that illustrate what's different about your language.

<comment><USER25> good add! show Hello World. plus, show snippets which illustrate what makes your language so special. Why it's worth existing in a world that already has several pre-existing languages and ecosystems to choose from.

</comment></comment></comment><comment><USER27> hehe, sure why not. the more, the better? :)

</comment><comment><USER28> I was just thinking there hasn't been a new programming language announced in the last week or so. With so few existing languages to choose from that have extensive supporting toolsets and APIs, this will surely stand out.

<comment><USER29> I feel this is a very insightful comment that adds meaningfully to this discussion. Through the use of cutting and witty satire OP has demonstrated that there is in fact an overabundance of programming languages to choose from with support and tooling, not only stating the obvious, but also serving as a blistering put-down to an individual who worked very hard to provide something useful and did it for absolutely no compensation. Good show sir. I would like to humbly request a subscription to your newsletter.

<comment><USER27> is it supposed to be obvious how 'clay' is useful? no problem with everyone forking everything and starting yet another language, and it doesn't have to be useful, it can be done for the experience. but if it's advertised, it would be good to explain why?

<comment><USER12> The OP explains this pretty well. Clay is designed to do generics very concisely and easily.

<comment><USER27> I'm not sure what you're talking about. The main page language is nice but explains it as much as a job candidates resume header explain what kind of a job candidate he is in a few sentences. There is no comparison to other languages or code examples, there are no success stories that I can see. Maybe they exist, but no, the OP doesn't explain this at all.</comment></comment></comment></comment></comment>


I want to intern for Airbnb. - <AUTHOR> http://www.dennis4airbnbintern.com/

<comment><USER2> Best of luck for you. I did something like that to apply to the company of my dreams. Although I didn't get it, I received a kind and large answer, explaining why that wasn't the moment - maybe in the future. I am sure you will receive an answer from airbnb, even if you don't get the job. And that's cool.

<comment><AUTHOR> Sorry to hear that, but thanks so much for the encouragement. Fingers crossed for good news!

</comment></comment><comment><USER3> Dayummmm killin it shawty! Would hire in a heartbeat. <3

</comment><comment><USER4> Rooting for you Dennis :D Let me know if I can help!

</comment><comment><USER5> Wish you well!

<comment><AUTHOR> Thanks!

</comment></comment><comment><USER6> Simply unreal.</comment>


Light L16 Camera, the world's first multi-aperture camera - <AUTHOR> https://light.co/camera <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=10350809](https://news.ycombinator.com/item?id=10350809).

</comment><comment><USER3> Also on the front page right now: [https://news.ycombinator.com/item?id=10350809](https://news.ycombinator.com/item?id=10350809)

</comment><comment><USER4> My first thoughts as a working professional for 10 years.

Forget a raw file format (that you will be able to use in LR/PS) and the flexibility and editing headroom it gives you. Perhaps there will be some specialist proprietary software like for the Lytro. Considering this I really hope, as The Verge article says, "the output isn't as punchy". The lack of a raw file format will also mean that you can forget DCP camera profiles to normalize the output with my other cameras.

What we know nothing about: what will AF be like? What will the dynamic range be like (considering they're stitching, not stacking, smartphone sensors)? Noise will probably be OK as you can downsample. But Sony is and Canon has 42/49 MP FF cameras out that doesn't need downsampling to look good.

Focal length range is a bit strange. 35mm equiv is a bit on the long side to be an all-round solution. 24-70 would have been OK for me, but I realize that's personal.

Portability looks tempting though!</comment>


It's never too late to become an entrepreneur - <AUTHOR> http://www.dailybreeze.com/lifeandculture/ci_22083255/helen-dennis-its-never-too-late-become-an This will become a big trend in next 5-10 years amongst "Baby Boomers"
The growing interest in entrepreneurship and age is reflected in a study by the Kauffman Foundation that found that more people ages 55 to 64 are creating their own businesses than those ages 20 to 34.
As a percentage of total entrepreneurs, the 55 to 64 age group has grown the most. For example, in 1996 14.3 percent of all entrepreneurs were ages 55 to 64; in 2011, that grew to 20.9 percent. The percentage of entrepreneurs that declined most sharply were those in the 20 to 34 age range. <comment><USER2> I'm happy that there are people in their late ages still doing entrepreneurship. But I wonder how are they managing the life of an entrepreneur with a family to feed, bills to pay, and age related issues (like energy decline). As I know life of an entrepreneur in a startup is very tiring and lack of sacrifice. So I wonder how they are doing it.

It is also my reason why I wanted to start at an early age. I still don't have a family to feed. No housing, electricity, water bills to pay because I can still live with my parents. And I still have the energy because I'm still young. With it, I can focus solely on my aim which is building a startup/company.

<comment><USER3> I'm 33, have two kids, mortgage and have recently left my job to freelance while I bootstrap a startup. Here my take on it:

1\. Seed capital seems largely useless, my lifestyle is very modest but the realities of childcare and mortgage mean my living expenses are higher than for your typical 20-something. The sums of money available at an early stage wouldn't last long enough to build an MVP, demonstrate traction, then find an angel. I'd have to go back to freelancing, only then I'd have an investor on my back. Bootstrapping seems like the only real option.

2\. Having worked for 14 years as a developer then manager, I have a pretty good professional network. I've been pleasantly surprised by how easy its been to get work that fits round my startup work. I'm booked till Apr 2013 and turning gigs down at the moment.

3\. Having kids is a huge time commitment. I simply cannot work at the office for 80 hours or more like some startup people do. However, I share an incubator space with some people like that and without wanting to sound in any way arrogant, I've realised that (a) my time constraints force me to focus really hard, I put in 50 really focused hours a week whereas they sometimes kick back and chat for a while because their energy is low, and (b) I have a lot more experience than them so I'm able to move faster than them on things like how to prep for a meeting with a potential partner or how to architect a system for the future. I think of it like this: if I can't leverage my ten years extra experience on these people to match their output in less time, then I deserve to go bust.

3\. Energy: I'm doing what I love, I have all the energy I need.

Basically, you have to be a different kind of entrepreneur, some wouldn't call my product a "startup" because it isn't (yet) a shoot for the moon type venture, but I'm still 'starting something up' and it's still an exciting challenge :)

<comment><AUTHOR> Very good points d4nt, 1\. The unmentionable (elephant in the room) to investment is that typical Investors tend to look for 10x payback, that orients all future business decisions. Getting outside capital has one value in my mind, enables capturing a market quickly that has the potential to scale up fast and has a high ceiling. I too am working on bootstrapping while in another job (In an Enterprise B2B play), I'm 55yrs, my first customer is in negotiation with me, a Fortune 50 company) and this is pre-product. My plan is to fund via Customer investment... 2\. My network has also been great. Need to talk with 4-5 Fortune 50 companies? Found them in my LinkedIn network. 3\. Totally agree here, life is more than work, as much as you may love it. Ryan Carsons Blogs is excellent, and he's a very balanced person and build a great company (<http://ryancarson.com/about>). Some great tips about work life balance and focus. 3\. Energy is about passion, not physical endurance!!

</comment></comment></comment><comment><USER4> the single best sentence in the whole text

"Seeing what everybody does, thinking what nobody does."

i would change it a little.

Seeing what everybody does, thinking what few do, executing like noone else

<comment><USER5> The way Schrodinger said it

"Thus, the task is, not so much to see what no one has yet seen; but to think what nobody has yet thought, about that which everybody sees."

<comment><USER4> well yes, in his context seeing is the idea and, thinking is the execution, which might amount to written proof or the likes.

</comment></comment></comment><comment><USER6> This is interesting given the article that appeared just yesterday on age bias in Silicon Valley [1]. I'd be inclined to think that the ageist mentality probably doesn't extend to the rest of the entrepreneurship world, although I have absolutely no evidence to support that.

[1] <http://news.ycombinator.com/item?id=4838215>

</comment><comment><USER7> Being pushed to entrepreneurship is very different from making business as a personal choice. If you can do business, start early. When you are old, you have almost no time to learn from mistakes.

</comment><comment><USER8> Curious to see what percentage of the entrepreneurs in this study are starting 'small businesses' versus 'startups'.

Didn't Steve Blank peg it at 99.7%?

<comment><USER9> Small businesses: anything that doesn't grow at 6% per week and that doesn't have an incubator and a VC on board?

It's quite possible to create a business that does several tens of millions in turnover and employs 100 people or more.

It happens all the time and those businesses are started by a wide variety of people when it comes to age, gender, ethic background, location and so on. These companies are the economic backbone of many civilizations.

Corporations are complex surfaces along many axis changing dramatically during their lifespan, there isn't such a thing as a clear dividing line between one group and another, only vague clustering and shifts.

At one point during its lifespan Kodak was a small business, then a start-up, then a Fortune 500 company, then ripe for disruption and now they're dead. Calling a company a start-up is like calling a person a baby throughout a large portion of their life. A start-up is a phase, not an endpoint.

Some people don't start out to do a start-up according to the SB or PG definition but find out after the fact that that was just what they ended up with.

Some people start out to do just that and end up with a small business. It isn't all black and white, there are lots of shades of grey and there is a lot less control by the participants than you might be led to believe.</comment></comment>


Release of Diaspora v0.1.0.0 - <AUTHOR> https://joindiaspora.com/posts/2632812 <comment><USER2> I have never thought the Diaspora project would succeed, because it's the social network nobody wants.

Honestly I think that in the startup community there has been an enormous failure to understand what makes Facebook so popular.

The most important features of Facebook are not the wall, and they're not sharing statuses or links.

The most important features of Facebook, are:

(1) Chat with a strong mobile app- for many people, Facebook chat has replaced personal (as opposed to work) email, texting, AIM, and Google Talk. It is a simple, sure-fire way to be able to contact anyone you know, and this is the single most important feature of Facebook. Does Diaspora have a strong chat? It doesn't have chat at all.

(2) Facebook groups. It is fairly common for an informal friend group to create a Facebook group for communication, or for an entire class of a university or high school to create an incredibly active group. Most universities have varying groups for varying purposes.

(3) Facebook events. It is common on college campuses for fraternity events and other student activities to be advertised through a Facebook event, and anyone who doesn't get invited to these events might feel out of the loop. Many informal invitations to parties between friends are also sent through Facebook events.

(4) The user's information page. Immediately upon friending someone, you are generally able to discover their religion, their politics, their interests, and, most importantly, their relationship status. In this way, Facebook is a very important tool on both the dating and friend scene for young people.

And, social networks like Google+ and Diaspora have utterly failed to properly address these features. Google+ took months to create events and groups, and honestly now the interface is so cluttered and clunky that I don't think it will ever be accessible to the basic user in its current form. Diaspora has utterly failed to implement any of these features.

Young people want a social network where they can quickly discover what kind of person each other are and what their social situation is, share events and groups with each other, and chat with each other, especially on mobile. Being able to upload photos is also important, but sharing statuses and links is probably the least important feature. A social network which effectively implements all of these in a minimalist, privacy aware way, would without a doubt succeed.

<comment><USER3> The reason Facebook is successful is not because of these features per se, any web dev could implement photos, events, user profile etc. The strength of Facebook is it's user base and the network effect. Everybody's on Facebook because everybody's on Facebook. Now of course, Mark was the first to implement these features well, so that's why he won and by features I mean the stream and photos (events and apps arrived later when facebook had already won).

<comment><USER4> The parent was talking about why it got big. Your comment essentially says: "No it wasn't all of those things, it was 'stream and photos' "

<comment><USER5> No the parent can't be talking about why it "got big" because most of those features didn't really exist until it was big.

</comment></comment></comment></comment><comment><USER6> Diaspora reminds me of the tragedy of Duke Nukem Forever.

Due to Duke Nukem 3D's success, they had too much funding and thus was trying to always incorporate the latest and greatest in game development. Once they were nearing completion, a better engine would be released, and so they would start over from scratch. [0]

The original team behind Diaspora only asked for a little bit of money so they could get by while they spent their time working on it. Instead, they got too much money and recognition. Instead of delivering something half-baked, they drew it out and delivered something stale. The product they have now could have been what they delivered years ago, and years later (now), it could have been a successful competitor.

[0] I forgot what article I read which was really interesting and would have preferred to link to, but alas this will have to do: [http://en.wikipedia.org/wiki/Development_of_Duke_Nukem_Forev...](http://en.wikipedia.org/wiki/Development_of_Duke_Nukem_Forever)

<comment><USER7> I believe this is the article which you refer to (<http://www.wired.com/magazine/2009/12/fail_duke_nukem/all/>).

Quote:

> But because the technology kept getting better, Broussard was on a > treadmill. He'd see a new game with a flashy graphics technique and demand > the effect be incorporated into Duke Nukem Forever. "One day George started > pushing for snow levels," recalls a developer who worked on Duke Nukem > Forever for several years starting in 2000. Why? "He had seen The Thing" — a > new game based on the horror movie of the same name, set in the snowbound > Antarctic — "and he wanted it." The staff developed a running joke: If a new > title comes out, don't let George see it. When the influential shoot-'em-up > Half-Life debuted in 1998, it opened with a famously interactive narrative > sequence in which the player begins his workday in a laboratory, overhearing > a coworker's conversation that slowly sets a mood of dread. The day after > Broussard played it, an employee told me, the cofounder walked into the > office saying, "Oh my God, we have to have that in Duke Nukem Forever."

Edit: argh, at-fates-hands beat me to it.

</comment></comment><comment><USER8> Diaspora highlights my biggest worry as an entrepreneur: building something for the way I wish users were versus the way they actually are.

<comment><USER9> I hear you. But also, hear this:

 _It's not the job of the artist to give the audience what the audience wants. If the audience knew what they needed, then they wouldn't be the audience. They would be the artists. It is the job of artists to give the audience what they need._

\- Alan Moore ( <http://intellectual-thoughts.com/Alan%20Moore%20Quote.htm> )

<comment><USER10> but the question remains: Are social media art? are programmers of social media artists? I do not doubt there are programmers that are artists and programs or implementations of programming that is art. That's not what I am asking. And I don't mean art in the sense of "State of the art" or "term of art", as in patents.

<comment><USER11> I think PavlovsCat is saying that software shares a trait with art via this Alan Moore quote instead of saying that software is art.

</comment></comment></comment></comment><comment><USER12> Maybe it's just me that noticed or felt this, but often times a service or product builds up a lot of hype and ends up being vaporware. Diaspora got mainstream attention when Zuckerberg donated money to them and when they complained at the height of Facebook's privacy problems. But then didn't deliver until like a year later?

Similar thing happened with Google+. I remember my non-techie friends wanting to get in, but it took weeks for invites to open up until people didn't care anymore.

The lesson in all this: when you have hype, DELIVER THE PRODUCT.

<comment><USER13> How is it vaporware when it's a working and functional social network? It's not as feature rich as it could be - there are a lot of things to improve there. But it's working, which is NOT vaporware by any means.

<comment><USER12> I signed up for an invite around the time it was announced. It took a while before even an alpha was released. Diaspora has unfortunately stagnated. The future rests with Status.net, Tent.io, or App.net in this field.

<comment><USER13> You don't need invites - there are many pods with open registration. I'm sure there are many projects that aim for the future. Diaspora is actively developed, which shows that it aims for the future too. Your examples are core technologies, not end user social networks. May be Diaspora will use them as the inner federation mechanism, who knows. There is an on-going effort to redesign Diaspora's federation architecture.

<comment><USER12> >You don't need invites

Right, today you don't. But for the first several months you did.

<comment><USER13> Only on the joindiaspora pod. Many other pods never had invites and were always open for registration. It's federated, don't forget.

</comment></comment></comment></comment></comment></comment><comment><USER14> It's hard to see this getting traction now, but I'm still glad it exists. Maybe Facebook will somehow fuck up badly enough to push people onto Diaspora, although I can't really see how at this point.

<comment><USER15> Sadly I think that Google and FB would need to fuck up at the same time (when hell freezes over). All the people I know who avoid FB are proudly on G+, for reasons I don't understand.

<comment><USER16> > FB are proudly on G+, for reasons I don't understand.

A couple reasons I've heard/seen:

      * Lots of folks are more trusting of Google with their data than they are of Facebook

      * Somewhat related to the above, circle management is a lot easier to get/use than Facebook's groups, and privacy management tends to be easier on G+ as a result

      * Facebook makes terrible mobile applications and Google+ has the nicest mobile client for a social networking site

</comment></comment></comment><comment><USER17> What kind of version is v0.1.0.0? First major version? First minor version? Something in between?

It would be so much easier to reason about version numbers if everyone would stick to Semantic Versioning[0].

[0]: <http://semver.org/>

<comment><USER18> Semver is explicitly ambiguous about versions < 1

<comment><USER19> Yeah, but not about whether you're at a version < 1.

</comment></comment></comment><comment><USER20> Due to the focus on privacy, I think Diaspora makes perfect sense as intranet social network for Companies, Govt, Colleges etc. I would wish Diaspora pivots in this direction

<comment><USER21> How does diaspora focus on privacy? The whole point of Diaspora was to implement a decentralized Facebook.

Diaspora as it has been, is centralized, and doesn't seem to be anything but a smaller, crappier Facebook.

Friendica does what Diaspora was supposed to do, and well, _and_ can integrate with the Facebook API and download your personal Facebook feed into your Friendica feed.

<comment><USER22> It does have decentralisation, to an extent. That's where the pod design comes in. Friendica also doesn't really fill the gap that effectively, it's slower than Diaspora and doesn't have a nice user experience. Also, the Facebook integration in Friendica doesn't scale well. [https://github.com/friendica/friendica/wiki/How- to:-Friendic...](https://github.com/friendica/friendica/wiki/How- to:-Friendica%E2%80%99s-Facebook-connector) The restricting use section alludes to his.

But if you were after a social network that is completely decentralised i.e. no servers, take a look at Nightweb. <http://nightweb.net/>

</comment></comment></comment><comment><USER13> For those who asked about chat functionality in Diaspora - the project is looking into enabling a chat capability, naturally using interoperable protocols like XMPP. It's not as trivial as it seems though, since it will require running additional XMPP server on the pod. Another option is to allow using external XMPP accounts for the web UI.

Having a chat is not really the highest priority, since there are tons of federated XMPP servers around already, and standalone XMPP clients that are light years better and feature rich than any possible web UI. But having web UI for chat as a convenience is still useful and attractive, so see the discussion here about adding this feature:

<https://www.loomio.org/discussions/3678>

</comment><comment><USER23> Bah, empty white page until you enable Javascript.

Is there some sort of roadmap somewhere? I could not find one.

<comment><USER13> See: <https://www.loomio.org/groups/194>

</comment></comment><comment><USER13> It's good to see Diaspora moving forward. Since the original creators team mostly stopped contributing to the project, it's now developed by community developers.</comment>


Ask HN: How much JavaScript do I need to know before I start learning Meteor? - <AUTHOR>

<comment><USER2> Not much, but the concepts of how Meteor works under the hood is beneficial in order not to misunderstand how it works under the hood and avoid the traps of all the magic it does.

Here's a few things you should read more about prior to or when you are writing Meteor:

\- Architecture of Meteor - Because hype told us you're writing one big JS app and throwing away the idea of client-server. NO, you will still end up writing client-only and server-only code, esp validations and API calls (which you don't really want to put in client-side code).

\- Node.js - It's handy to know what you can use in server-side code to avoid duplicating work.

\- AJAX - The concept of server-side methods closely mimics AJAX (call and callback style).

\- MongoDB - Basic knowledge of CRUD functions in Mongo are nice to have. Especially "upsert" (insert/update) which was very handy in place of "check if exists and update or insert" operations.

\- Basics on reactive programming - Under the hood, everything's observed. When things change, it's a domino effect afterwards.

</comment><comment><USER3> I usually read up a book with basics for the language and then start a project with a framework and (this is important) whenever I write or paste code I do not understand I will look it up and try to figure out exactly what is happening.</comment>


Ask HN: Best Online Photo Storage Website? - <AUTHOR>

A significant percentage of my hard drive is taken up with photos and I realized that this will only grow. I'm ready to move all my photos online to a private gallery.<p>Any recommendations of where to safely store 10 GB of photos? <comment><USER2> You might want to try my site <http://www.vivapixel.com>

It's safe, fast and easy to use.

Try it and let me know what you like/dislike.

thanks

dh

</comment><comment><USER3> I personally like this one <http://www.smugmug.com/></comment>


Paul Graham & Sexism: Just One More Distraction From Real Work - <AUTHOR> http://nibletz.com/2013/12/28/paul-graham-sexism/ <comment><USER2> Paul, you really need to stop being honest in public. The world doesn't want honesty, it wants lies. It wants to feel good. Wake people up from their politically correct Utopian dream and they will attack you viciously. Just go with the flow and speak freely only to a close group of friends.

As I recall last time PG was honest about founders with heavy accents not doing well due to communication problems he attacked as well. American culture (founded on freedom of expression) has turned into a culture of witch hunts and public shaming. Leading more people to simply stop talking about important and many times controversial topics. From freedom of expression to fear of expression, who's the witch hunt's next victim?

<comment><USER3> It's this bizarre twitter/social justice generation. After seeing the phenomenon where merely saying the word 'female' is considered sexist, nothing surprises me anymore. It's better to never speak about gender differences.

<comment><USER4> To the list of shibboleths that includes "third wave feminism" I will now add "social justice". Thank you. It's convenient that people that hold views like yours are so willing to mark themselves.

<comment><USER5> I just want to say that it is very refreshing to see your comments on these types of issues. You're one of the apparently very few people on HN that actually understands what sexism/racism is in the tech-world.

</comment></comment></comment></comment><comment><USER6> Is it really wrong to say that women could be better or worse (in general) at one thing or another? Is it sexist to even point out that men and women are different?

I think my wife is pretty awesome and capable of things I would not be able to do. Am I sexist for talking about it?

I think in the source PG even says that women are good (maybe better) than men at business focused startups. Or will the world not be balanced until just as many women are making hot or not for XYZ in the off hours

<comment><USER7> > "Is it really wrong to say that women could be better or worse (in general) > at one thing or another? Is it sexist to even point out that men and women > are different?"

Yes to both questions. On the other hand, it's science[1][2]! There's lots of proven differences in personality and ability between the sexes.

When the official ideology is against reality, you have to choose between being a "good person" and a good scientist. It's best for your career to choose the first.

[1] [http://jaymans.wordpress.com/hbd- fundamentals/#sex](http://jaymans.wordpress.com/hbd-fundamentals/#sex)

[2] [http://www.aei-ideas.org/2012/09/2012-sat-test-results-a- hug...](http://www.aei-ideas.org/2012/09/2012-sat-test-results-a-huge-gender- math-gap-persists-with-a-33-point-advantage-for-high-school-boys/)

<comment><USER8> >When the official ideology is against reality, you have to choose between being a "good person" and a good scientist. It's best for your career to choose the first.

Unless your career is in something like insurance, medicine, or any field where those differences actually matter.

</comment></comment></comment><comment><USER4> What we seem to be seeing now is a wave of commentary from people who are familiar only with what other people have said about the Graham interview at The Information, but who have not themselves read that interview carefully.

<comment><USER9> What's your takeaway from it? (I don't have a subscription to The Information.)

<comment><USER4> About the sexism issue? [https://news.ycombinator.com/item?id=6980805](https://news.ycombinator.com/item?id=6980805)

About the interview as a whole? Sadly, I think the whole interview was pretty boring, and the discrimination stuff was the most interesting part of it. Everything else Graham had to say, it seemed like he had said elsewhere before. I'm not criticizing Paul Graham here: I think he made the rest of his points effectively and was well-tuned to the audience.

Ironically, Graham spends some time later in the interview talking about "reputation as potential energy" (which rings true to me), and how that energy is part of what makes people "attack" him and YC --- presumably, he means that the energy he has captured is threatening to people. I wonder if he had fielded that question first, before the discrimination thing, if he might have said something different about women in tech.

<comment><USER10> Haven't you watched any prison movies? Everyone wants to take down the new barn boss. (Sean Penn in "Bad Boys"[1])?

I'm joking of course (about the barn boss) but the truth is it's a good sign when you get to the point where people analyze and give a shit about every word that comes out of your mouth. You can then move the needle. I say ignore the controversy and use it to your advantage.

[1] Remember the dweeb that built the radio and took down the goon with an explosion?

</comment></comment></comment></comment><comment><USER11> > While I fully get the the "hell hath no fury like a woman scorned" thing, I > just have to say there's really not much here to be pissed about.

The "'hell hath no fury like a woman scored' thing"? That's an offensive thing to say in this context.

From PG's interview:

>Does YC discriminate against female founders?

>I'm almost certain that we don't discriminate against female founders because I would know from looking at the ones we missed. [...]

That's not evidence, because YC boosts the success rate of those who get in.

That said, I agree with the idea that hacker culture is not something a CS major can impart, and that it helps to have an early start.

<comment><USER4> It's not evidence that YC isn't discriminatory, that's true, but it's also not evidence that YC is.

I think Graham would have been better off saying "I don't think we discriminate, here's why, and I don't know why the gender imbalance exists". Instead, he overexplained.

<comment><USER12> > I don't know why the gender imbalance exists

Well it depends what age group you're talking about. He says the gender imbalance in 20 somethings is due to a gender imbalance in teens (which just assumes that time spent in your teens is predictive of career choice and skill level), and he doesn't know why the _teen_ imbalance exists, but it needs to be fixed.

I don't see how that's over explaining. If you didn't study math or science in highschool, you probably won't be a physicist either.

<comment><USER4> It is simply not true that you need to study computer programming in high school in order to be an effective professional programmer.

<comment><USER12> Didn't say it was strictly necessary. But you're less likely to even choose CS as a career path if you had no interest in it earlier.

You can also become a physicist later in life, but it's rare.

</comment></comment></comment></comment></comment><comment><USER13> If technology startups were founded more on business principles and less on hot air, tech hand-waving, and "the Facebook of _X_ ", then this probably wouldn't be so much of an issue.

Speaking as someone who got a home computer at eight, back when it was still _extremely_ uncommon, and who never stopped programming, I actually think we vastly overvalue this whole "you have to have been hacking since age 13" angle. There are so many other elements that go into _actually delivering solid product_ that I just don't think we can point to that as the issue to focus on.

This is a symptom of a problem, not a qualification of proficiency.

<comment><USER14> I very much agree with this.

I'm a woman and at age 13 I was, if not actually "hacking", at least teaching myself to code simple games/graphics. However, "delivering solid product" is a very big leap from that. I'll never be an elite ninja rock star coder or a big name entrepreneur.

Conversely, there are plenty of posts on HN from people, mostly 20-something and male, saying they just taught themselves to code from scratch within the past year. Some of those people are already doing pretty damn awesome things, and thankfully they usually get encouraging feedback rather than told they'll never make it because they weren't geeky enough in junior high.

(And I was a big nerd all through school, so believe me, I'd love that to be a meaningful qualification!)

</comment></comment><comment><USER15> I recently saw an interview between Eric Schmidt and Sheryl Sandberg on BookTV (www.booktv.org) and Sandberg made basically the same point but I think in a little bit more elegant way. She mentioned that she put her teenage daughter in computer camp and there were only 2 other girls in the camp, both of whom were Sandberg's nieces and she also put them in there. The take away for her was that most parents do not encourage girls to go to computer camp. So there is a self fulfilling prophecy so to speak going on. I think both PG and SS are saying pretty much the same thing, but SS is the better person to say it in my view, not that PG shouldn't comment, it's just that him saying distracts from the key point, it is socialization that needs to change. And they are both correct, to be really good in tech, you need to start them young !

</comment><comment><USER10> I would be remiss if I didn't reinforce a point that I make frequently that after (as Fred Wilson calls it) this "shitstorm" passes more normals will be aware of Paul Graham and YC do than before. And perhaps that will have an effect on the general conversation as far as women in tech or taking up computing (at age 13 or whatever) and actually do something useful.

Never let a good crisis go to waste as the saying goes.

</comment><comment><USER16> I normally don't bother to comment on these manufactured outrages but I have to make an exception here. Look, PG clearly were referring in the interview to startup _founders_. The magazine twisted his words to make it sounds like he saying that women can't be _coder_, meaning women can never learn to code well enough to get a job, which he never said. If that's indeed what he say then everyone, you and I can decide to be outrage about it. But that's not what he said. We should really be outraged at the magazine for this hit piece.

</comment><comment> vezzy-fnord Finally, a relatively rational response.

On another note, I just realized that Medium.com is absolutely _inundated_ with blog entries about pg's statements. Wow.

</comment><comment><USER17> pg says founders start programming when they're thirteen, and concludes that we have a ten year lag time.

The author says founders can be much older than 23, so given that we have a ten year lag time, we can start with people will over 13.

pg: x=13 y=23 Therefore z=y-x=10.

Author: No, y=40 Therefore x=y-10=30.

There's a pretty clear flaw in the author's reasoning here. Why say x=10 when you've just rejected the value from which that ten was calculated?

<comment><USER18> The author agrees with x=10 based on the 10,000 hours hypothesis as she states in her article. She didn't base her agreement on pg's "hackers start at 13" statement. She agreed with it due to the shear number of hours it takes to get competent in a highly technical skill.

<comment><USER17> The 10 000 hours thing is often paired with "3 hours a day for 10 years", but by my recollection there the only number with a basis is 10 000, not the 3 hours or the 10 years. I'm pretty sure she chose 10 years because she was responding to someone who chose 10 years.

</comment></comment></comment><comment><USER19> The problem of getting anyone, young or adult, interested in a subject --any subject-- isn't one with a simple solution. Technical subjects have the added difficulty that they require you to use your brain in non-trivial ways.

Given equal exposure to the subject matter, I fail to see how a male or female subject would react differently to the idea of learning that subject. This, of course, assuming that both the male and female subjects got to that moment in time with a similar educational and perhaps even cultural frame of reference.

If a mother only ever bought a little girl frilly pink and shiny things, well, it is probably unlikely that as a teenage girl or an adult woman she would even remotely show interest in learning more technical subjects. She will probably be a dancer and go into the arts or some other less "brainy" occupation. That's not to say that there aren't exceptions to this, but they are probably few and far between.

The same is true of boys. If they are brought-up in front of a playstation, shooting at things, playing sports, and well outside of more academically focused areas he will probably grow up to be a jock and then move on to careers that do well when you use half your brain. Hell, he might even go into sales!

Things are vastly different if you feed your kids a constant diet of what they should be learning in order to operate at a different level when they are older. My teenage son finished MIT's CS 6.00.1x course just a few weeks ago. That did not happen magically. That was a lot of work. For me and for him! And that also required a lot of work to get to the point where he could even be shoved into that end of the pool.

My little girl is too young to think about formal learning of these kinds of subject, but this year she got introduced to Lego robotics and is starting to like it. Yet, the situation is exactly the same: It requires a ton of time and dedication on my part --as the designated nerd at home-- to keep her exposed to such subjects and make it fun. I have to get silly while teaching something useful. I have to figure out ways to make robotics fun, silly, exciting and something she wants to do. We don't buy lots of silly frilly things for her. That said, I have to tell you, it is hard to fight both genetics and exposure to such things through her peers.

I guess my message is that parents needs to be very engaged and active in bringing up a child into the sciences and technology. It will not happen by osmosis. And, I really don't think gender makes a huge difference. It might change the approach, but I don't think it is the primary determinant of success or failure.

One way I've explained this in the past to friends who marvel at what my kids are doing is that this is like a Formula 1 car drafting a car in front of them. You need to drive well and use a lot of effort to get close enough to be within the zone where drafting happens. Up until that point you are using a lot more energy to chase the car in front of you. Once you get into the drafting zone you need less power to maintain the same speed. Yet, you still need that foot solidly planted on the accelerator.

With kids you have to push, push, push. I have navigated through really frustrating moments when I've gotten angry because I couldn't understand why he (my oldest son) didn't just grab that book I bought for him and launched himself into software development nirvana. Of course, I always reflected upon these things and never externalized them --not much of a motivator to yell and scream at your kid about learning something-- and realized that (a) he is still young and (b) we are not in the "draft zone" yet. It'll take a lot more effort --and this is different from kid to kid-- to get him into the "draft zone". Once we reach that zone it will require a lot less energy on my part and, if interested, he will ultimately need virtually no support from me.

This is where I look at some of the things being said about STEM education and can't help but think we are just throwing money into a big bonfire. You can't force people into learning anything. A lot of my kid's friends are, well, jocks or exhibit no interest in anything at all. They are navigating through school with no guidance or encouragement in any direction whatsoever. You can't just throw money at that and expect things to change. For most kids it requires far more work than can be done during the time they are at school. Yes, of course, there are a few kids in every sample group that need almost zero work. These kids get hooked on a subject like programming and just go, go , go. Most kids are not like that. Just like most successful businesses did not get launched with a long coding session over a weekend while eating popcorn.

Going back to my little girl, she is not seriously exposed to Lego robotics. In fact, our living room table is an official FLL table with the official field mat and everything. Yes, we are serious about this. I'd rather have a learning environment in my living room than a fancy dinning room table.

As far as why there aren't more women in tech today. I don't have the answer for that. I only know that when I was a teenager girls mostly did different stuff. Not because they were being forced away from tech, they simply showed no interest in what we were doing. My guess is that it all came from home. So, as our culture changes so will that aspect of things.

Evolution?

</comment><comment><USER9> Paul Graham is probably not sexist, and if he's ageist, it's a product of his sampling bias. Most qualified 40+ founders are not going to be that interested in the 6%-for-$15k type of deal that YC offers. Those terms are great for someone out of college; not as much for a seasoned 40+ entrepreneur. There are plenty of very qualified 50-year-old entrepreneurs out there, but I doubt they're applying to YC. I could be wrong; that's just my best guess.

I'm not PG's biggest fan, although I admire his Lisp chops. Still, this attack on him is ridiculous. The interview shows him as a decent guy admitting he can't solve a difficult and complicated problem. Really, my feeling is, "Nothing to see here, move along".

The truth is that even if Paul Graham _were_ sexist, that wouldn't be such a big deal if the startup industry were healthy, because the biases of one influential individual shouldn't matter.

Rather, the VC-funded world is seriously and systemically ill-- and the rarity of female founders is a symptom of that sickness-- and PG is just being made (completely unreasonably, IMO) a lightning rod, even though he's clearly one of the more reasonable (and probably one of the less sexist/racist/classist) investors out there.

<comment><USER20> Paul's done more good for people of all human subgroups - "protected" or unprotected - than any of the commentariat. But we live in a culture that gives power to Social Justice Warriors who haven't done a damn thing. Why do we privilege the talkers over the doers? We're moving into a time where right ideology matters above all else.

Something ugly is happening in America. If Paul Graham worked for someone else, he'd be fired by now[1]. That's sad, as everything he's said has been thoughtful and in good faith. None of it should be out of bounds for adult discussion.

We live in a time when it's best to shut up if you know what's good for you. And that's sad.

[1] [http://handleshaus.wordpress.com/2013/12/26/bullied-and- badg...](http://handleshaus.wordpress.com/2013/12/26/bullied-and-badgered- pressured-and-purged/)

<comment><USER4> I keep seeing comments like this and thinking about how easy it is to caricature any effort; for instance, people manage to do the same thing to Watsi, which should be an unimpeachable project. Are there do-nothing "Social Justice Warriors"? I'm sure there are. What's your point? By focusing on them to the exclusion of all else, what you're really demonstrating is that you're not interested in understanding the complaint. Why is ignorance supposed to be a compelling argument?

<comment><USER20> Social Justice Warriors are shrinking the bounds of possible thought and tarnishing people's reputations. If you're not self-employed, they can get you fired. I'm an old-fashioned liberal: I believe that thoughtful, free discussion leads to improving our knowledge of the world. So first of all, SJWs are the enemy of free thought and they have turned their eyes towards tech. I hate to see the enemy wielding power or gaining in it.

Secondly, I agree it is useful to introspect into tech culture and hiring practices to make sure we are not turning away good candidates. But we cannot judge the fairness of a hiring process solely by results because the hiring process doesn't control the larger culture that a person grows up in. If the cartoons kids watch at age 8 only have pimply male geeks in tech roles and as a result your startup has a skewed gender ratio 14 years later, that doesn't make the startup founders a witch, oops I mean sexist.

Changing the culture is a monumental task, but the startup community is not shying away from it. They are investing in early childhood education and other initiatives to give all people the opportunity to code. But the fruits of these projects will be long-term.

In the meantime, I want people to be able to discuss the issue openly and honestly without being attacked/fired, because I believe that makes us most effective and I believe that is what is right. The SJWs looking to burn witches aren't adding anything and they can go to hell.

<comment><USER4> Your comment would have been just as effective without its first and last graf; had you refrained from trying to caricature everyone who feels like gender imbalance is a problem, I would merely disagree with most of it.

It is simply not true that cartoon representations of computer programmers are a necessary component of an effective startup hacker.

Changing the culture is indeed a monumental task, but the startup community seems to be embracing the current culture and back-rationalizing its attributes. You see this when you see people describe how getting started at age 13 is somehow important to building CRUD websites.

<comment><USER20> Just curious - do you think that outlets like Valleywag are a positive or negative for our industry?

If something is a positive for everybody who believes the "right" way and negative for everybody else, I tend to believe that's a net negative because it makes us dumber in the aggregate.

<comment><USER4> Negative.</comment></comment></comment></comment></comment></comment></comment>


When the Mother of Invention Is a Machine, Who Gets Credit? - <AUTHOR> http://singularityhub.com/2016/11/03/when-the-mother-of-invention-is-a-machine-who-gets-credit/?utm_content=buffer44161&utm_medium=social&utm_source=twitter-hub&utm_campaign=buffer <comment><USER2> Why does it matter? Because someone must "own" all inventions in order to turn a profit off them? That's a slow road to stifling all invention, if you ask me.

</comment><comment><USER3> The people who designed that algorithms that the computer ran to create so called invention. If computers are creative so is a hammer.</comment>


Show HN: Using Node.js to model lane-changing behaviour in congested traffic - <AUTHOR> https://github.com/psobocinski/traffic-modelling <comment><USER2> I'd like to see something like this for traffic lights. imho traffic lights impede traffic, rather than helping the flow. For example, a light will turn red and stop traffic for no apparent reason for the sole fact its on a timer. Stopping traffic for no reason is a waste of time. I'd rather replace traffic lights for roundabouts

<comment><AUTHOR> Author here.

That's a great use case where a quantifiable improvement would lend itself to a business case as an approximate ROI calculation could be made.

I will have to think of how to extend the functionality of the model to support this. Perhaps using the existing behaviour as "road segments", then having the "arrival sequence" of one segment originate from the cars exited from another segment.

Thanks for your comment!</comment></comment>


An Introduction to Computer Networks - <AUTHOR> https://class.stanford.edu/networking/Fall2012/preview/ <comment><USER2> This sounds like a nice course if you want a theoretical, academic intro to computer networking if you already have a hands-on networking background and want to think more abstractly about networking.

As a network engineer, unfortunately it sounds like this course will likely be rather detached from the knowledge required for day-to-day enterprise or carrier networking, such as how to set up redundant network links or allocate IP space. I'm not saying Stanford needs to offer a free Cisco CCNA bootcamp, but there is an opportunity for a balanced course. I find a surprisingly high number of "network engineers" who can't explain how DNS name resolution works, or the purpose of an IP subnet mask.

What I have found to be an EXCELLENT intro to practical networking is Juniper's Networking Fundamentals self-guideed online training. Although offered by Juniper, it's 100% vendor neutral. Details at [https://learningportal.juniper.net/juniper/user_activity_inf...](https://learningportal.juniper.net/juniper/user_activity_info.aspx?id=769)

<comment><USER3> Thanks for the link! This is just what I needed.

Being a CS graduate myself, I can say that your concerns about _being detached from knowledge required for day-to-day enterprise_ is something I can totally relate to. I clearly remember that a LOT of my classmates had paid for a separate set of a classes focused around teaching more practical and hands-on networking stuff. Certainly there's a gap here and it would be great if Coursera comes out with some course which addresses this.

</comment></comment><comment><USER4> This is fortunate. I've been looking for a good networks introduction and there doesn't seem to be many online networks courses.

As for literature, is there any text that most people agree is a good start into networks? I'm interested in the OSI model and other network architecture and design principles.

<comment><USER5> I'm taking the class at Stanford and the recommended reading is Computer Networking: A Top-Down Approach by Kurose & Ross

</comment></comment><comment><USER6> Does anyone know a good resource to learn "a strong understanding of bits and bytes, and knowledge of how computers lay out data in memory"

<comment><USER7> Petzold's book "Code: The Hidden Language of Computer Hardware and Software" is good. It starts too gently, and ramps up too quickly.

(<http://www.charlespetzold.com/code/>)

The Art of Electronics Lab Book has plans for building a computer and it's pretty well documented, although very old.

([http://www.amazon.co.uk/Laboratory-Manual-Electronics- Paul-H...](http://www.amazon.co.uk/Laboratory-Manual-Electronics-Paul- Horowitz/dp/0521285100?tag=6519986691-21))

Another good way to learn is to find a circuit diagram and run it by pencil. Just like people learn programming by writing code on paper and running the software with a pencil; writing the variables and such. Here's one ([http://www.nathandumont.com/sites/nathandumont.com/files/ima...](http://www.nathandumont.com/sites/nathandumont.com/files/images/cpu.png)) (not a great example) but you try to work out what values you need where to get various bits working.

When you get a better circuit diagram you can create a memory map. Here's a link that describes what I mean. (<http://www.clear.rice.edu/elec201/Book/hardware.html>)

Good Luck!

</comment></comment><comment><USER8> Why are there so many breakaway online courses why cant all of them just choose one format and platform. Coursera has a number of Stanford courses they could have chosen it.

<comment><USER9> I welcome it. It's still really early in the game, the more competing platforms the faster the platforms will have to innovate. The inconvenience to the student is pretty minor, really.

<comment><USER5> Agreed. I think the actual reason, in this case, is that Stanford isn't sure it's comfortable putting courses on a private company's platform in the long run. So they've made the strategic decision to hire a team and build their own platform, giving them full control.

This makes total sense; we don't really know what direction Coursera and Udacity are headed as businesses, nor even what online education is going to look like or who the students will be. For Stanford, having the option to cut ties with Coursera is critical to Stanford's goal of being a leader in online university-level courses. And the platform is open source, meaning that depending on what happens, it could become a standard that more and more schools adopt.

And I, like you, think this is good for everyone. The more different the players are this early in the game, the more likely that at least one of them ends up doing it right.

</comment></comment></comment><comment><USER10> I remember learning the basics of networking in 1989 from the "The Linux Network Administrator's Guide", which is/was part of the Linux Documentation Project.

It focuses on the software aspect of things, but IMHO it is still a good read for introduction.

My favorite book on the topic (covers hardware and software) is:

"Computer Networks" by Larry L. Peterson & Bruce S. Davie.

<comment><USER11> Did you mean 1998? Linux did not exist until '91.

</comment></comment><comment><USER12> Watched the first 2 or 3 videos,but i had a problem submitting my answers.It would reject my answer and fail to move to the next section of the lecture while at the same time not allowing me to click on either the hints or solutions tab.I was frustrated enough to logout.

</comment><comment><USER13> thank you so much for sharing this, I have the same module in my first year as a Applied Computing student, so this should help me dig more deeply into it. Could someone recommend the best programming related / IT in general courses for me to take? Regular university pace is too slow for me. Thank you so much.

</comment><comment><USER14> btw, though it says that class doesn't start until Oct 08, materials are already up, so log in and get started!</comment>


Ask HN: Seeking Cofounder? (April 2014) - <AUTHOR>

Please lead with either SEEKING COFOUNDER or SEEKING STARTUP, your location and whether remote work is a possibility. <comment><AUTHOR> SEEKING COFOUNDER. NEW YORK (NYC). REMOTE OK.

I created [http://www.Learneroo.com](http://www.Learneroo.com) to teach programming and more online. Looking for a cofounder passionate about online education and experienced with Ruby on rails and Javascript. Email info[at]learneroo.com to find out more.</comment>


Show HN: Sourcestack – an "antiframework" for serverless TypeScript web apps - <AUTHOR> https://github.com/stackplanet/sourcestack <comment><AUTHOR> Author here. I created sourcestack as an alternative to AWS Amplify for creating full-stack serverless web apps. Amplify is a great tool, but as it's a high-abstraction framework that hides infrastructure behind libraries and code generation tools, I frequently end up fighting against it when it doesn't meet my requirements.

In my opinion this is the essential and insidious problem of frameworks - <USER2> make certain things easy, but they require you to cede too much control and you end up constrained by their assumptions and locked in to their roadmaps.

sourcestack takes a template based, low-abstraction approach that surfaces all infrastructure and common logic as source code within the workspace, giving you complete control over all aspects of your application. It aims to provide a batteries-included, forkable foundation for a web app that encourages adaptation and a deeper understanding of cloud infrastructure. I'm hoping that others might find it useful and perhaps be inspired to create forks or similar templates for other technologies.</comment>


Asus and Leap Motion Bring Minority Report-Style Gestures to Life - <AUTHOR> http://www.wired.com/gadgetlab/2013/01/leap-motion-asus/

<comment><USER2> What do HNers think about the Leap "app store"?

I'm dying to get my hands on one of these awesome things and I have tons of use for it, but I'm seriously not interested in putting "apps" on Leap's "app store" and I don't like this trend at all. If, for example, Chrome adds APIs for extensions and apps to access Leap Motion, I want my cross-platform "app" to be discoverable on the Chrome store.

With the app store nonsense (imo), I feel Leap is distracting themselves from the real task of getting their device out on every damn machine out there and getting their SDK into every dev's hands.

Disagree? I'm all ears.

<comment><USER3> I think the app store is a good idea for the business and consumers. They need a place where everyone knows leap apps can be found to help drive the consumer adoption. Now, the implementation and/or restrictions is the make or break. There isn't any reason that they couldn't make your example feasible.

<comment><USER4> I remember when we would just use "the web" as a source of apps we could download (although we called them "programs" back then). Everyone knew about "the web" and it was easily searchable using search engines such as Google.

<comment><USER5> Then they used 'download.com' and 'tucows.com'.

<comment><USER4> Sadly, I expect many people did, rather than just going to the page of the people who actually made the software. With a "modern" app-store there's no choice, but using that kind of redistributor was just bloody silly.

<comment><USER6> Actually I often had to warn friends and family against downloading random programs of the internet (as I am sure many of us have). Although to people who frequent hacker news it may be "bloody silly", for others having a "trusted" third party is often preferable to dealing direct for a whole host of reasons. See for example Amazon Marketplace, Etsy, eBay, etc...

</comment></comment></comment></comment></comment></comment><comment><USER7> I wonder how useful it'd be to make 3D models of things.

I'd imagine waving my broken shower head over it for a while, then using some sort of 3D magic software I could get a half decent CAD file that I could 3D print and repair that bad boy.

<comment><USER8> I don't think that's the idea behind this interface.

Besides, what you ask already exists, in the form of 3D scanners.

<comment> __--__ No, but it could be useful for manipulating 3d objects in CAD programs.

</comment></comment></comment><comment><USER9> I was excited when I saw the leap motion demo a few months ago. I didn't realize that it was 8 cubic feet of space, i thought it was just 2-3 feet from the device.

Being bundled with Asus is nice, but I think it's difficult for a PC maker to differentiate themselves.

When you go to buy a computer does anyone decide feature wise between an Asus or a Samsung? One big decision is Mac or PC. When you decide PC, you look for some deals or good prices.

<comment><USER2> > i thought it was just 2-3 feet from the device.

You're right.

2 feet x 2 feet x 2 feet = 8 cubic feet.

</comment></comment><comment><USER7> Do you think you could point it at your face and use your eyes to select/activate a window?

<comment><AUTHOR> I could see it being really helpful for accessibility for people with disabilities.

</comment></comment><comment><USER10> In reviewing the videos it seems that the device can be in a look-up mode or in a look-sideways mode. Does anyone know if it works in look-down mode?

By look-down I visualize it attached to the top of my display and looking down.

The advantage would be that your hands are supported by a table. This would lower the muscle strain when interacting with a device for a long period of time.

<comment><USER11> If it can do look-sideways, I can't see why not. Simply reverse/invert output where necessary, no?

<comment><USER10> I'm thinking of background noise caused by reflections from an underneath table.

</comment></comment></comment><comment><USER12> Can't wait to see how this goes. I can't imagine why MS hasn't bought them yet. Seems like the perfect fit for Win8.

<comment><USER13> I really hope MS will not buy them - it would be a real pity to have this new technology limited to Windows

<comment><USER14> Absolutely.

</comment></comment></comment><comment><USER15> Does anyone have any idea how this works?

<comment><USER16> I have one of the Leap prototype units through the SDK program. (They say there's no NDA and they want people to talk about it, so it should be ok to post my observations here...)

My unit doesn't have the final casing, so the basic components are in plain sight. There are two cameras and some infrared LEDs. The LEDs appear to emit a sequence of pulses which is seen by the cameras at a high frame rate -- somewhere in the Leap docs it's mentioned that the highest frame rate sent by the device over USB is around 300 fps.

The magic is in the processing, of course. I don't know how that is split between the device and the Leap driver running on the host computer.

The data obtained through the SDK is preprocessed into hands that are further divided into fingers or "tools" such as a pencil being held by the user. It doesn't seem to be possible to get raw depth data, but the hand data is high quality and the latency is impressive -- it feels very good in use.

<comment><USER17> RE: the infrared LEDs, I believe that's how the kinect works as well.

<comment><USER16> The Kinect is a bit different. It has one regular camera, one infrared camera and an infrared projector. It projects a random-looking pattern which is seen by the camera and analyzed by the unit's firmware. The pattern's perspective and scale distortions are mapped into depth coordinates (perhaps aided by the visible light camera image). The device then outputs RGB+depth images via USB with a maximum frame rate of 60 fps.

The Leap doesn't have an infrared projector that could emit a precise pattern, but it has two infrared cameras that run at a much higher rate than the Kinect's. I think the Leap's depth detection is based primarily on stereo vision mapping with some kind of temporal component.

<comment><USER17> Ah, interesting. Thanks.

</comment></comment></comment></comment></comment><comment><USER18> So does this have high enough spacial resolution that you could have an augmented reality system create a virtual keyboard in from of you and you could type on it?

I'm picturing a future full (virtual) keyboard interface for google glass. Thoughts? concerns?

<comment><USER19> You need to think bigger. This is the future of teledildonics.

</comment></comment><comment><USER20> Interesting tidbit about preordering: They claim to only bill when they ship a device, but ask for Credit Card information. Ergo they need to store cc information in clear text somewhere.

Leak in 3.. 2..

<comment><USER21> I could be wrong but I think some of the credit card tokenization models allow for billing at a later date. (as in, give the CC information now, receive a token, use that token later to charge)

<comment> alok-g I presume then that is how restaurants add tip to a credit card charge after returning it to the customer. I always used to wonder.

<comment><USER22> I think restaurants pre-authorize your card for some percentage over the actual tab, and then just capture the final amount including tips.</comment></comment></comment></comment>


10 very good reasons to stop using JavaScript - <AUTHOR> https://www.leaseweb.com/labs/2013/07/10-very-good-reasons-to-stop-using-javascript/ <comment><USER2> "Yes, you can create websites and applications without JavaScript. Everything that is possible in JavaScript can be done on the server side."

Is this article a joke ? Dude, can you show me some animations done server- side, mouse interaction, etc.

</comment><comment><USER3> Should we even consider 3 years old article as valid discussion point?</comment>


Startup Quote: Ryan Freitas, co-founder, About.me - <AUTHOR> http://startupquote.com/post/4518019201

<comment><AUTHOR> If you're interested in the living heart of what you do, focus on building things rather than talking about them.

\- Ryan Freitas (@ryanchris)

<http://startupquote.com/post/4518019201></comment>


Android Open Source Project Now Includes the Fuchsia SDK and a Fuchsia 'device' - <AUTHOR> https://9to5google.com/2018/12/11/aosp-fuchsia-sdk-device/ <comment><USER2> The article also mentioned another commit: [https://android- review.googlesource.com/c/platform/prebuilts...](https://android- review.googlesource.com/c/platform/prebuilts/fuchsia_sdk/+/847438)

It mentioned that commit was tested on walleye, aka Pixel 2.

</comment><comment><USER3> I'm not sold on Fuchsia. The UI harks back a little too much to Java native look-alike widgets which always fell in the uncanny valley for me.

<comment><USER4> This is probably off-topic, but AFAIK "the uncanny valley" refers specifically to artificial representations of humans looking "too much but not quite enough" like real humans. I'm not sure how UI elements (which don't typically depict humans) would fall into it.

<comment><USER5> Same concept. If a UI is _completely_ different you'll know you need to learn a whole new way things work. If a UI is close to something you're used to, then you'll trip over every single difference.

</comment></comment></comment><comment><USER6> Too bad they didn't write Fuchsia itself in Rust. You expect something better than plain old C++ for a project in 2018.

<comment><USER7> Fuchsia was started before Rust 1.0, and you still can't do OS dev on stable. It would have been cool, but I also don't think they inherently made the wrong choice.

That said, there's a few hundred thousands of lines of Rust in there, and more on the way. The Fuchsia team also lets some of its team contribute back to Rust development, which is far more support than having the kernel part of a microkernel be in the language, IMO. (You can see this in Futures and async/await, which Fuchsia makes heavy use of, and the team has been very helpful in driving the design and implementation to completion.)

<comment><USER6> Yes, I am aware of their contribution since I follow the Rust development news. Thank you for the information anyway!</comment></comment></comment>


Apple to patent CSS transformations and animations - <AUTHOR> http://robertnyman.com/2009/10/29/apple-to-patent-css-transformations-and-animations/

<comment><AUTHOR> From the comments (it's might not be what it appear to be)

"Let me explain this again. Apple promises not to use these patents against MS, Mozilla, Opera, et.al. because that would ba against W3C rules. But by having the patents they make it impossible for someone else to claim 'ownership' of the technologies and patent troll anyone!"

<comment><USER2> Does this line of argument really make any sense? Isn't "prior art" just as easy to defend against in a lawsuit?

I'm not sure I really feel good about a big brother corporation creating bogus patents with the promise of doing it for the good of mankind. Even if there are good intentions, it just adds more burden to an overtaxed patent system and makes the bogus patent problem worse.

I love Apple products but I also think as a company, they seem very closed and litigious so I'm a bit skeptical.

<comment><USER3> " ... as a company, they seem very closed and litigious so I'm a bit skeptical."

Besides, this is not Steve Jobs giving his word as a man, Scout's honor, and all that.

At some point management changes, but the company lives on, and the new owners may decide otherwise.</comment></comment></comment>


Ask HN: Whose job is it? Tester or Developer? - <AUTHOR>

I work as a developer at a large consulting firm. On my small team, we have 4 developers and 3 functional people (essentially 2 testers). Often we, the developers, will get emails from one of the testers saying something along the lines of<p>"I logged a new defect. It's occurring in this environment... but not always. Will you take a look?" These sort of messages drive me crazy.<p>Should the tester be the one responsible for directly pinpointing the error? Or am I just out of line in thinking this? I do sometimes like to live in a dream world. <comment><USER2> Ideally the tester should provide exact data to reproduce the problem, but sometimes errors are extremely difficult to reproduce. Timing issues, for example, or problems that for some reason unknown to the tester do not always occur given the same test scenario.

If your tester are routinely providing reports that you are confident they should have been able to give more detail on, then explain that to them. Ask them to provide more detail. But if the problems truly are bizarre and hard to reproduce, it might be too much to ask of them. Really depends on your exact working situation.

</comment><comment><USER3> Sometime QA cannot re-produce some issues. This is very common in almost every company you go to. Our QA has access to log servers, and they try to provide the exception logs if they are available.</comment>


Show HN: From hack day to Minority Report style browsing in two weeks [video] - <AUTHOR> http://leaptouch.com

<comment><USER2> A quick heads up, but at present your application is in violation of the SDK terms and conditions.

2.2.5. Unless otherwise provided in an agreement between you and Leap Motion, you may not use "Leap Motion", "Leap", "Airspace" or any other trademark of Leap Motion in connection with your Application or company, or in any URL, product, service, name field or logos created by you. However, you may indicate that your Application is "for Leap Motion" or "Leap Motion-enabled".

<comment><AUTHOR> Thanks for the heads up! I'll let my partner know about it

</comment></comment><comment><USER3> Someone's going to develop a serious case of gorilla arm.

<comment><AUTHOR> What's with leap motion and gorilla arm? lol

<comment><USER4> It refers to the ergonomic problem inherent to the "minority report" style interface used for any extended period of time[1], though to be fair to the creators of this project, this is very clearly presented as a casual, alternative interface, not one to replace mouse and keyboard.

[1] [http://en.wikipedia.org/wiki/Gorilla_arm#.22Gorilla_arm.22](http://en.wikipedia.org/wiki/Gorilla_arm#.22Gorilla_arm.22)

</comment></comment></comment><comment> martin-adams The hardest thing I've found is being able to type one handed while having a food asset occupying my other hand.

I know it's early technology, but gesture control in this scenario seems like it uses 10x the energy than a mouse (which may be a good thing).

I can see it being useful in public places where you don't want to 'touch' a screen that doesn't get cleaned.

</comment><comment><USER5> ...and I have successfully once again had a college accidentally click on a link by pointing at it on my screen.

Still, it's cute. A couple of thoughts:

1) The jump between tabs is the opposite to the direction I'd expect to use. Why does moving my hand right swap one tab to the left? O_o

2) The 5 finger scroll thing is cute, but its frustrating to use, because the leap detects one finger before 5 fingers as your move your hand in. I keep accidentally clicking instead of scrolling. Be really nice to be able to turn clicking off.

<comment><AUTHOR> 1) We implement natural scrolling - so the direction is reversed just like how scrolling is reversed in osx :)

2) ah your finger must have been too close to the monitor, the color in the pointer is the indicator (blue: hovering, green: about to click)

<comment><USER6> darn, should have bought Leap Motion, there's a hackathon this coming weekend :(

slightly off topic: is the device sensitive enough to detect motion if you put in on the floor and you move your hands while standing?

even more off topic: your username is very local :)

<comment><AUTHOR> It's good for occasional use - especially with sandwich in one hand lol

Not sure about putting it on the floor never tried it before but probably won't be able to detect though, since the instructions also said to put it near monitor

Yes, my username is very local ;)

</comment></comment></comment></comment><comment><USER7> Hmm. Cant seem to get it to work [even after disabling all other extensions]. Wont let me get past the first calibration test. Pity, it seems far more accurate than any of the others I've used! Looking forward to seeing a FF version!!

</comment><comment><USER8> Interesting, but why not use a mouse or trackpad while holding that sandwich?

<comment><USER5> You mean you've never used your mouse/magicpad after eating a sandwich and gotten grease on it and had to annoyingly clean it up afterwards?

Sandwich time casual leap use is by far one of the best use cases I've seen for it, honestly.

<comment><AUTHOR> exactly :)

</comment></comment></comment><comment><USER9> doesn't this app already exist for free in the airspace store? I believe it's this (Touchless): [https://airspace.leapmotion.com/apps/touchless-for- windows/w...](https://airspace.leapmotion.com/apps/touchless-for- windows/windows)

<comment><USER10> At least in my experience, using touchless in Windows 8 didn't work well at all.

</comment></comment><comment><USER11> Great job guys!

<comment><AUTHOR> Thanks! :)</comment></comment>


How I grew my Shopify micro-SaaS - <AUTHOR> https://www.preetamnath.com/blog/grow-shopify-micro-saas-to-25k-mrr-in-14-months <comment><USER2> Is it not a bit risky naming your app with "WhatsApp" in the name? Might be worth a rethink in preparation for that day you get served papers by Facebook (unfortunately).

[https://whatsappbrand.com/#:~:text=WhatsApp%20doesn't%20perm...](https://whatsappbrand.com/#:~:text=WhatsApp%20doesn't%20permit%20or,without%20explicit%20prior%20written%20approval).

 _" Don't use the WhatsApp Brand Resources as part of a name of a product or service of a company other than WhatsApp."_

<comment><USER3> He doesn't just use the name but he uses their trademarked logo in his marketing.

I think, he could get nuked by Zuck at any time.

</comment></comment><comment><USER4> The only reason I would never go this direction with my business is because you could wake up tomorrow and the features of your app become a standard feature of Shopify and you're instantly out of business.

Think flashlight apps for iPhone, health apps, etc.

<comment><USER5> That is true. But note that they are based in Bangalore, 25K USD MRR is a ton of money (it is a lot of money even in the US). If they maintain this for just a year or two, they're likely set for life.

Sometimes it works out to just ride the wave :)

<comment><USER6> 25 K/month x 2 years x(1/2 partners) = 150k

150k * 0.66 (extremely optimistic gross to net-income factor) = 100K

You and me have different notions of "set for life"

EDIT: I fudged a factor of 2 in the math, the final number is 200k, my point still stands.

<comment><USER7> You are looking at this all wrong.

First, your assumptions on net income are too pessimistic. Small founder- operated SaaS can be extremely profitable.

Second, and more importantly, you are ignoring concepts of LTV and NPV of future cash flows.

Assuming 80% SDI and a churn-rate that is < 5% (ideally < 3%) you are looking at a business worth $700-950k right now. Why? An income stream from a growing high margin SaaS business is a coveted and valuable thing.

Finally, when you have a business with 300k ARR you begin to unlock more options for yourself -- small acquisitions (traffic/content/funnel), ads, product improvements.

The likely path here is that their income will continue to grow and they will either be taking $200k a year in income or sell for > $2 million in a couple years, or both.

Having built a small SaaS business to this size myself for many years, i can totally recommend this path for independence and financial freedom.

<comment><USER6> > First, your assumptions on net income are too pessimistic. Small founder- > operated SaaS can be extremely profitable.

Are they? On the contrary. You are telling me that out of 100k of gross sales, after discounting: Operational costs, insurance, income taxes assuming at the end if you get 67K is pessimistic? I didt not even budget money for sales and marketing.

> Second, and more importantly, you are ignoring concepts of LTV and NPV of > future cash flows.

I am not, that was not even a question on my initial answer. My original answer was to deny this: Operating a 2-person 25k MRR company during 2 years will set you for life. My answer is no. You are assuming a lot of other stuff that was never in the original discussion.

> Assuming 80% SDI and a churn-rate that is < 5% (ideally < 3%) you are > looking at a business worth $700-950k right now. Why? An income stream from > a growing high margin SaaS business is a coveted and valuable thing.

Yes, but that is trivially true. If you assume the company will grow the valuation will reflect that. Everybody knows that. That was not in the original discussion. This also depends on the business model of the company, a SaaS company critically depending on a 3rd part ecosystem is significantly riskier than an independent one.

> Having built a small SaaS business to this size myself for many years, i can > totally recommend this path for independence and financial freedom.

I agree. But you need more than 200k USD to be set for life.

<comment><USER7> You are focusing too much on the snapshot and not the trend.

</comment></comment></comment></comment></comment></comment><comment><USER8> I was curious about how they acquired users and found this:

[https://www.preetamnath.com/blog/shopify-micro-saas- growth](https://www.preetamnath.com/blog/shopify-micro-saas-growth)

<comment><USER9> Thanks - this had even more value than the actual linked post above.

</comment></comment><comment><USER10> I'm curious to know how the integration with WhatsApp works? Is their business API now publically available?

<comment><USER11> Perhaps they just use Twilio, which already supports WhatsApp integration.

<comment><USER10> The Twilio integration also requires an existing Whatsapp Business Profile AFAIK.

</comment></comment></comment><comment><USER12> To me the most interesting question I didn't see answered was: how did you acquire those users over 14 months?

<comment><USER13> From his partner's blog:

"Once this was done the next step was to get people to choose our product vs the competition. In order to do this we did something that some might consider unethical - we included most of the features that the competitors had and made the app FREE which forced the competitors to go into losses. You cannot build a business by being nice.

Making the app free got us a plethora of users to whom we provided exceptional customer service which lead to them writing 5 star reviews, so even though they were using the app for free, we derived ROI out of them by gently nudging them to write reviews which boosted our ranking and eventually got us to the #1 rank for certain keywords.

This was when something very interesting happened. One of our competitors ran a DDOS attack on our servers. At this point we were getting 5 reviews a day and users congratulating us for our good work but the fact that someone tried to screw us over made it evident that we were on the right track."

<comment><USER14> Building from free to paid is quite tricky.

There must have been backlash when going from free to paid product.

I assume the previous users were grandfathered in else those 5 stars would have turned into 1 stars rather quickly.

Also your moat is just as big as the next hungry upstart willing to work for free for 12-18 months.

<comment><USER15> Author here

\- we granfathered all users whenever we would change pricing or introduce new plans

\- agreed on the point about moat

To be fair, we made a free version of a very basic app in a category in the App store that was stagnating due to lack of competition. example, someone was charging for number of clicks on the button.

We simply changed that and charged for something else instead, like premium button designs, or new features that no competitor offered but users were asking us for it.

Our app was free for about 1 month before we launched paid plans

<comment><USER13> Congrats on the growth - enjoyed the writing which led me to find your partners blog as well.

DDOS is always a good sign —- would make a great post as well!

</comment></comment></comment></comment></comment><comment><USER16> > 14 months ago, my co-founder Sankalp and I set out to build a business..

It sounds like you decided to build a business before coming up with an idea that could be a business.

In the end, how did you decide what to build?

<comment><USER15> Author here!

We analysed the entire app store and narrowed down on 5 ideas. We got lucky that we picked WhatsApp, that's the honest truth.

Here's our Shopify App Ideas research sheet, if it helps - [https://docs.google.com/spreadsheets/d/1Hnpcl1VAlPC9MuFvvsl2...](https://docs.google.com/spreadsheets/d/1Hnpcl1VAlPC9MuFvvsl2UsU0yu1iM6aKR- iK30VtbwA/edit?usp=sharing)

</comment></comment><comment><USER17> \- Super simple and clean product \- Congratulations the revenue and other good figures \- Does whatsapp allow automated messages thing? or i am understanding it wrongly?

</comment><comment><USER18> Congratulations on launching a successful business! I enjoyed your article a lot. As someone who knows nothing about Shopify or their extensions it was eye opening. I loved your focus on making sure you were doing the right thing for your users and it seems that's a huge component of your successes!

<comment><USER15> Thank you :) It's counterintuitive but a narrow focus leads to larger success :D

</comment></comment><comment><USER19> Reads like a self help book of the month

</comment><comment><USER20> > I'm so proud of what we have built here.

> If life is a video game, and there's 100 levels to it, I feel like we have > finally crossed level 1.

Nice. Congrats. Most people don't even get to Level 1.

It is really difficult to get from Level 0 to Level 1. Most people will try, and they will fail.

And now for you, it's much easier to get to Level 2, then Level 3, then.. Level 100.

While everyone else will still be stuck on Level 0.

But, realize that Level 0 is wide, and you can still succeed in life on Level 0. By this scale, most people are on Level 0.5 to 0.9, or something of that nature.

<comment><USER21> This seems like a weirdly elitist/limiting way of looking at things. If you're slightly better off today than you were yesterday, then you're advancing toward your goal. The progress compounds all the time. There is no "being stuck at level 0" unless you're making negative progress.

<comment><USER20> Well, understand that you can still make a good life on Level 0.

You can be a Google Engineer making $200,000 USD per year. Or a doctor earning $300,000 USD per year. But after taxes, you take home a lot less.

But, this guy got to Level 1. Now, he can focus on getting to Level 2. Everyone else, is still trying to get to Level 1, if they are even trying.</comment></comment></comment>