Hacker News new | comments | show | ask | jobs | submit | lhnz's comments login

I love this app.

I connected it to my bank in order that I could watch my monthly spending through my menu bar [0]. Surprisingly useful way of managing money as it makes it impossible not to pay some attention.

[0] https://twitter.com/nouswaves/status/684396522675527680

The problem with hypermodularization is that it takes time to make a decision on what module to use for every task. If you have to to do this with 100s of modules, you're wasting a lot of valuable time.

Does anybody know a quick way of making the right decision?

NPM is like a crowded graveyard nowadays (or like .com domain names - where all of the good module names have been taken along time ago and now all the best practice modules have completely irrelevant names). There are thousands of buggy modules in which development has stalled, and it's easy to waste a lot of time trying to separate the wheat from the chaff. I personally sometimes have to open up 5+ Github repositories to check their last commit, number of contributors, interfaces, code quality, unanswered issues, etc. Only after doing so am I able to make a decision.

In terms of knowing what's cutting-edge practice it seems you have to watch Twitter a lot and be careful not to follow every single bad idea.

I can't imagine what it'll be like to search for a module to handle something as common as config in a couple of years. Even when you constrain yourself to something like '12 factor config' there are many different implementations.

Don't even get me started on the insane assembly required to get webpack-, babel-, cssmodules-, and postcss- to all work together.

The problem is only going to get worse.

Just like the difference between pre-internet post-internet days, the problem is no longer finding the information, its filtering the large amounts of available information. Same with libraries and modules - there's probably a module for a LOT of things. You eventually develop a good sense for what heuristics make a good module, and you develop in such a way that the cost of an accidental bad module is low.

You can certainly find full-fledged frameworks out there that do everything for you and make your decisions for you, but the cost of getting that wrong is far higher than a bad module.

You just have to look at the module named mkdirp to know there is a problem with hypermodularization. Here is all of the modules related to making a directory -- https://www.npmjs.com/search?q=mkdir

> I personally sometimes have to open up 5+ Github repositories to check their last commit, number of contributors, interfaces, code quality, unanswered issues, etc.

Only one of these, it seems to me, is likely to be consistently related to the quality of the module.

Don't keep us in suspense. Which one?

Honestly, I think it's better as a question/koan than as explained. Asking yourself how good these each of signals really is and asking yourself how they could fail is probably much better than having a random internet commentator try to talk you into it.


- last commit: I'm not surprised to see this here. Almost the entire industry is deeply invested in the idea that software can never be done, only abandoned, so deeply it's almost invisible. And projects with enough surface area likely are like the proverbial shark: either moving or dead. But for modules with limited, well-defined functionality, reaching a steady state where the project is actually done and updates are rare should actually be a sign of quality.

- number of contributors: again, I suspect that where this coheres with quality, it's probably correlated with size/surface area. Plenty of limited, well-defined projects probably are good with one or a handful of contributors.

- interfaces: are we talking about presentation of the project? Or the UX of an app? Either one could be a sign of overall craftsmanship, or it could be a sign that the author is concerned with appearances/marketing.

- code quality: tautologically true (code quality is related to project quality) but not helpful. One might easily mean "do the authors of this module follow my favorite code style guide," in which case I think this is extra likely to lead you astray.

- unanswered issues: unanswered issues seem like a great signal. If they're present (and real), the author(s) either can't fix them, or the project is abandoned while actually needing improvement. Inversely, if there are answered issues, the project is being used and attended to.

The find/fix rate is one I look for.

Basically, you look at the project's social presence.

That sounds kind of airy-fairy, but it's honestly how it works. You look at what the README says, how well it addresses questions, you look at the release history, see how maintainers interact with contributors, read a blog post or two to see how the maintainers are thinking.

And then you make a judgement call.

You don't have to get it right every time. That's the beauty of the modular approach. If you get it wrong, then you're smarter when you go to replace that piece of the infrastructure.

From a library developer perspective, the major issue I find with NPM is that it stores it's own copy of the source.

Old but useful libraries will often stagnate and get forked by users who still want/need to carry on development. Linking directly to a repo would make more sense but that's not how most people use NPM.

> In terms of knowing what's cutting-edge practice it seems you have to watch Twitter a lot and be careful not to follow every single bad idea.

A lot of this stems from the fact that todays solutions will likely become tomorrow's technical debt. It's not a popular opinion on HN but adjusting development to follow current/future web standards is insurance against future technical debt.

Webpack, for instance solves todays problems:


Currently, there are 3 non-standards (AMD, UMD, CommonJS). To make 3rd party libs interoperable, all 3 standards have to be supported so Webpack handles the messy details. Which BTW is a huge improvement over not being able to use libs that don't support whatever non-standard you choose. As for future standards, Webpack is moving in a very positive direction by adding ES6 module support in v2.


Transpiling as it's used today will likely become less relevant over time. In terms of Javascript, ES6 provides useful additions to make programming in vanilla JS much nicer. ES7 has the potential to shake things up even more in a really good way. For instance, decorators will make it much simpler and more straightforward to create higher order functions; which in turn will make it much easier to do functional-style programming in JS.

The next major shift will come with CSS extensions. Less, SASS, Stylus are the current common non-standard solutions to the difficulty of managing large CSS codebases. I'd expect that the web standards people will eventually cherry-pick the good parts from them the way they adopted the good parts of CoffeeScript in ES6. Unfortunately, those who heavily rely on Less, SASS and Stylus will either have to adapt or continue to use/support the tools of a dying standard when everybody else moves on.


Bundling as we know it today is an anti-pattern but also a necessary evil due to the limitations of HTTPv1. Warming intermediate caches helps but a warm local cache trumps all. Unfortunately, bundling is in such widespread use the chances of a user having a warm cache are essentially nil.

HTTPv2 will (hopefully) move influence developers to abandon bundling strategies, thereby improving cache reliability for all.

The next major shift we need to improve cache reliability is a widely-adopted versioning strategy that library devs use to mark packages for long-term support. It's insane that everybody relies on bleeding version of dependencies but everybody bundles everything so there's no measurable benefit to sticking with an older, more stable version of a dependency.

I would touch on the issues with the widespread adoption of functional-specific supersets of JS but -- considering the tastes of many HN users -- I really don't feel like being downvoted into oblivion.

> Does anybody know a quick way of making the right decision?

Try to see things from a long-term perspective. Stay cognizant of the nature of the hype cycle.

Some technologies really do have the potential to provide huge improvements in performance and usability. Some will eventually provide the improvements they promise but the first version won't be good enough.

Most tools -- no matter how useful they appear to be today -- will likely die or be replaced by something better in the future.

Often the quickest replacement for an `unwrap` is an `unwrap_or` with a sensible default.

Other times where error-handling is important use a `match` there and then. And don't nest the arms of the match instead use the return of the match expression.

On the other hand, I found `try!` pretty awkward. Especially since quite often you need to create custom errors alongside it and can go down a rabbit hole in which you have to read confusing compiler messages from within macros about traits not being implemented correctly, and lifetimes missing, etc.


GitHub: http://github.com/sebinsua

Email: me@sebinsua.com

* * *

Two things...

  - If you're just browsing and you run a business, drop me an
    email, I'd love to figure out ways to add value to your business.

  - If you have an idea already I work with most technologies
    and can quickly build an MVP/prototype from scratch or
    get up-to-speed to contribute on a currently-running project.
* * *

I'm an experienced full-stack developer.

I've worked in the following technologies on the server-side (Node, Rust, Postgres, Python, Neo4j), and on the client-side (JavaScript, React, Swift, etc.) However, I can probably pick up any language or tool that you're already using, so if I haven't mentioned it, just ask.

Don't hesitate to get in touch if you think I can help you in any way!

I enjoy programming but 'working as a programmer' is infuriating.

There are so many interesting product ideas yet 'me-too' CRUD app recreations of previously successful incumbents products are highly desired. This is particularly true in the startup ecosystems where kids talk about 'interesting' problems and finding 'purpose' and yet are blindly following the mantras and motivational speeches of trite capitalists.

I currently work as a freelancer/contractor in London and I am happy as I make enough money to finance my own intellectual and creative interests for months on end. I hope I'll soon meet other intellectually curious people doing the same thing, and hope we'll be able to join forces to teach ourselves things or perhaps even work on small projects together.

Of course I feel extremely lucky to be in this position which has nothing to do with wanting a slower pace and everything to do with wanting to exert my whole self. And I can't say whether it will be good for me or bad for me; I'm certainly learning a lot about myself and the practicalities of doing this.

I enjoy X, but 'working doing X' is infuriating.

I would bet that most people feel this way. Maybe we should consider alternatives to wage labor that better meet the needs of people instead of the needs of the capitalists...

Why do so many threads always have to devolve into a bizarre condemnation of capitalism? If you don't want to code for a living, then don't code for a living. Do it for fun and make money some other way. If you're upset that you have to work to survive, well, then maybe you need to have a reality check.

It's not bizarre. There is a long historical culture of criticism of capitalism. It's just been squashed in recent decades.

I am a particularly privileged individual because I have a choice of what labor I can do, and even how much to an extent. Most people don't have the choice of just switching careers because they feel like it, and even fewer have the option of even realizing that there is some sort of activity that would be more fulfilling than what they do to survive.

I believe the reality check needs to occur in the people who are too used to their own comfort that they can't even lift their blinders to look outside their own social environments and see the injustice that is happening on a massive scale in the world.

> I am a particularly privileged individual because I have a choice of what labor I can do, and even how much to an extent. Most people don't have the choice of just switching careers because they feel like it, and even fewer have the option of even realizing that there is some sort of activity that would be more fulfilling than what they do to survive.

This is poisonous thinking. Programming is one of the most accessible industries on the planet that doesn't involve physical labor. If somebody has the desire, they can learn how to program and land a job for FREE.

People seem to be squarely divided into two groups in this world: those who believe life happens to them, and those who believe that they make life happen.

> This is poisonous thinking. Programming is one of the most accessible industries on the planet that doesn't involve physical labor. If somebody has the desire, they can learn how to program and land a job for FREE.

Not when you spend 8+ hours doing a demanding but low-paying job (like most are) and then have to come home (+1-2h) to take care of the spouse/children/parents. And even without the latter obligations, there's only so much one can do after being exhausted doing the day; life is not just about working, and many (most?) people can't psychologically sustain doing only work for longer periods of time.

There are several aspects of life that are not fair. However, there are countless anecdotes of people psychologically sustaining to learn something new and improve their station in life.

I will say, I support opening opportunities to learn. Not everyone has a computer - help foster an environment that gets people access to one.

You cannot force someone to have the willpower to work on this, the _best_ you can do is offer opportunities.

No, that's not the best you can do. What we can and should be doing is questioning the systemic inequalities and structures that cause poverty and wage dependence to exist in the first place. Whatever conclusion you come to, if you don't first put in the effort to see if there actually is a reason for existence to be this way, then yes, maybe all you can do is offer opportunities to a select few.

Boy, you're right, it is hard. I guess that's good enough reason not to try.

Some people try. Some of them even succeed. It's worth to try, but let's not act surprised when the aggregate results look poorly.

Issues like this are, like it or not, best viewed globally, not locally. If you raise the bar until, say, 20% of people can't handle it anymore, then you can go and preach about willpower all day long, but it won't change the fact that every fifth person simply won't have it, and it's not really their fault.

Hey, thanks for not taking the bait there and snapping back.

This sort of neutral, put-things-back-on-topic reply is a great example for all of us. You made it look easy!

It's hard to pull yourself up by your own bootstraps if you weren't born with them (and not everyone in the world is). Acknowledging reality does nothing to dissuade people from trying their hardest, but sometimes one's hardest isn't enough.

It's a double-edged sword, IMO.

On the one hand, yes, you can get the education to become a programmer for free.

On the other hand, programming requires a semi-decent computer, which can set someone back a few hundred dollars.

And of course it's time vs money: sure, you can spend a lot of time and zero money to become a great programmer, or you can spend a bit of money and much less time to become a great programmer.

Some people can't afford that money to save the time.

'Needs of the capitalists'... You mean like plumbers, grandmothers, schoolteachers, homeowners, and software developers?

What? Have you ever participated in a criticism of capitalism before? Capitalists are by definition people who own and profit from private property (which includes things like small businesses, large businesses, land that is rented out, etc, and does not include things such as your personal home, your car, your laptop). All the people you listed are likely not capitalists in any sense, other than your simplistic analysis that anybody who lives in a capitalist society is a capitalist.

Those people that you all mentioned are the working class. They are the people who are obligated to trade their time in labor for wages which are used (usually 100%) to pay for their own needs such as food, housing, and savings for retirement, which will also be spend of food and housing, just later in life.

nit: Lots of plumbers are also business owners and employ sub journeymen employees. Those plumbers are capitalists.

I think your point is that people who make money off their labour/time (as opposed to their assets/employees) are not capitalists.

Generally your point stands though.

pension funds are the largest owners of companies - generally owned by middle class

Pension funds (as far as I know, please correct me if I'm wrong) are financial instruments which are meant to be used for future consumption during retirement. They are not financial investments that are used to generate more capital. This makes them distinct from capitalist investments which are used for the purpose of increasing their capital wealth, most of which is unable to be consumed.

Some of the alternatives that seem to work are better capitalism such as YCs "build something people want" model. I'm not sure socialist approaches work very well for programming apart maybe from academia.

Do you have any advice for freelancers looking for interesting clients?

I'm mostly able to find clients that either 1) want full-time employees or 2) are working on 'me-too' CRUDs (sometimes both).

My suggestion is actually not to find interesting clients. My suggestion is to find high-paying clients and then to become your own 'interesting' client (aka, reduce your lifestyle cost to a point in which you're able to use this money to sustain months of self-directed work).

Nothing is perfect and I've no idea whether this particular idiosyncrasy would suit other people - I'm still undecided whether it's for me.

Exactly this.

I've been consulting with various clients for the last 4 years. I make a few multiples more than I need to survive, and do not work more than 50% of the working days per year.

This is relatively easy to achieve:

- I have no debt outside of a couple school loans, which I prioritize paying down to zero. Everything else is either living expenses, or discretionary spending.

- I ensure my clients pay for everything they need—hosting, Github, any and all services. This is an easy sell, as it keeps everything firmly in their control and they can replace me at any time.

- I charge by the day, not the hour. My clients have never complained, and they seem to find it easier to think and budget in per-day terms.

Can you give more specifics on the typical project you take on? Genre/technologies/size/price.

That's basically what I've been doing. I'm not convinced that's the only possible way, which is why I asked. Working on pointless projects is fine for a short period of time (at least for me - I tried that approach multiple times in the past), but a potential source of burnout in the long run...

Have you considered taking a pay cut to work more full time but at a company that you think is doing valuable work? There are a lot of companies trying to "change the world", surely one lines up with your values. Though sometimes the skills they want are more specialized than generic software development (which is what I have :( ).

I would suggest looking in the mirror ;)

Let's be honest. Freelancers are not there to find "interesting clients". They are a temporary resource that enables a client to get a job done they under-resourced.

You have a choice as a freelancer 1) Become money focused. Earn as much as you can for as long as you can. 2) Become idea focused. Earn as much as you can until you have enough to bootstrap the idea. Rinse and repeat. 3) Become money focused but use your income to get the idea fleshed out using upwork.com

If you can get a few of you together it will be a better experience. Working at a co-location hub can be worth it.

Dumb question .. how does one go about getting started as a freelancer? Are there agencies or some other mechanism to get you started? Specifically, interested in how to get started in North America.

It's actually a larger question than you perhaps realize. There are different kinds of freelancing. The spectrum ranges from something that looks like "remote" work to something more akin to agency-like project work.

That former is much easier. The latter pays better but requires a whole bunch of other skills, and takes much more time. The two aren't mutually exclusive however, and that is what I've done as part of my strategy.

There is a monthly find a freelancer thread on here where you might be able to find a gig. Work on building your portfolio/reputation. I'd suggest small projects at reduced rates.

Next, I'd visit a lawyer and get a template contract worked out. Rather than have him write one from scratch, find one that includes a lot of the things you want and have him tweak it. It will be cheaper that way. Most important (IMO) are indemnification, terms of payment, and arbitration.

Get used to promoting yourself. Have your short and long "elevator pitch" together. Put together a landing page and get some business cards. Talk.To.Everyone! You never know where and when your next client will come from.

One of the issues you will run into is the feast or famine issue. You never know when you will get your next client, you have to always be on the lookout and courting -- overloading the queue because a percentage will drop out. If you don't find the next soon enough, then famine. If, as it happens often, several prospects say yes, then you feast. By feast I mean work a lot of hours and save up so you can weather the next famine.

What are your skills? Do you have a portfolio? How about an up-to-date linked-in profile?

You know I've been wondering this lately too. I haven't done any freelance work but I want to get into it. I'm still not sure the answer, but I started by turning on the 'Hire Me' buttons on my Codepen and GitHub accounts. I just launched a portfolio website (last night actually) that showcases a few of my projects and lists my contact information. I think my next step would be to check out sites like elance etc. But I'd love to hear other ideas from successful freelancers.

Not a dumb question at all. I've wondered the same thing myself. Say you're working full time and have $X/mo in fixed expenses. If you leave that job for freelancing, all of a sudden you're going to be making tons less than you were as a full-timer. How do you bridge that gap?

Find a friend or fellow techie to subcontract for.

Use that as a time to learn time management, invoicing and billing, taxes, etc, while you build up a network. This is basically freelance apprenticeship.

Do that for maybe a year and then start doing your own thing.

There really is no secret. Just go do it.

If you're serious about it then incorporating becomes a good idea to protect your assets.

I would suggest starting with family and friends at reduced rates to build a portfolio.

Here's my advice after 7 years of freelancing: https://medium.com/@marknutter/advice-for-the-freelance-deve...

(sorry for the blogspam, I'd repost it here but it's long and I'm too lazy to paraphrase right now)

Pick a niche (with good characteristics) and make sure to be good at things in that niche. From there on, the client or employer will obviously pay you in the way that you want (freelance or employee). The work will also be maximally interesting. I personally get a fantastic rate doing pretty much what I like from my home office.

Could you give an example of niches like that? I'm currently doing all sort of things, ranging from reverse engineering to wordpress websites (yeah, i'm a freelancer...), and I'm super curious to hear what people found out to be "good" niches and what were "bad" niches?

Echoing with the OP said. Figure out who your ideal client is: who they are, what projects they offer, how much they pay, etc. then go to where those ideal clients would hang out. Talk to them, understand them and figure out how you can relieve whatever business discomfort they’re facing.

This will take some time but you’ll eventually get a stream of the type of client that can support the lifestyle you want and want to work and refer you continuously.

The problem with CRUD apps is that they are architected around persistance, the product particularities and business logic are then like second class citizens that must play by CRUD-world or the framework of the year rules. The result is often a mediocre and painful to maintain app which may fulfill a bureaucracies' objectives but for the programmer it feels like being forced to be unprofessional , as if a surgeon was asked to perform an operation with a rusty saw.

> The easiest way to be a 10x engineer is to make 10 other engineers 2x more efficient.

I thought being a 10x engineer meant being able to achieve a task which could not be achieved by 10 average engineers.

Does it mean the ability to do 10x the amount of work than everybody else? That doesn't seem extraordinary, that's mostly a case of focus.

In general I dislike the egotism attached to the idea that one engineer is the cause of other engineer's productivity. That's a lame way of self-congratulating.


> "When your expertise is limited to, let’s say, art, level design, performances or whatever, you’ll eventually convince yourself that it’s the most important thing in the game."

This is my experience, too. Without autonomy and ownership across a whole project it's very easy for people to get tunnel vision about what's valuable. This causes general harm to both the team and the outcome of its project.

I'm not sure how to lessen the effect other than perhaps by making projects small enough that they can be worked on by just a few people and using this phase to establish a kernel of good ideas and team cohesion.

Perhaps there might be another structure where the tools that are provided to the team are literally so good that the main project can be done by just a few people working on everything together. (Idealistic vision here.)


I don't have the source handy but there is research showing that if you ask individuals on a successful project the % that they contributed, the total of the perceived contributions generally equals around 140%. I've wondered if simply pointing out this issue might help reduce the inflated sense of personal contribution


I wasn't able to find your particular point in my searching, but I did find a paper from 2000 that came to a similar conclusion[1]

"This difference in perception has a potential of creating tension within the team and disrupting the cooperation, because there is a possibility that every single team member may feel to be undervalued by others and not receive his or her due."

"The perception gap can be a threat to the team and its goals. Facing the gap requires interpersonal skills on the part of the team management and team members."

[1] http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=077...


Kind of similar to Gestalt theory... The whole is greater than merely the sum of its parts.


You can express complex thought in short equations (and in fact it is often preferable), so why would it be the case that it couldn't be expressed in just 140 characters? It doesn't make sense.


Short equations don't express complex thoughts. They express the short result of complex proofs, which are themselves essentially definitions. Math is a process of describing reality using definitions built on definitions. The analogy to communicating social, political, or creative thoughts is ridiculous.

If you want to prove me wrong, show me a complex thought expressed in 140 characters. Again, I agree that complex thought can result in a very interesting tweet, but the tweet will not be able to convey all the thought behind it.


What is the sound of one hand clapping?


My response in 136 characters:

That thought is pseudo-profound, not complex. In this context, "sound" is human-audible air vibration. One waving hand doesn't make any.


If nothing else, I inspired one. Well said! I appreciate that response.


This is a great conference if you are okay with their insistence on no-platforming wrongthinkers.

Hopefully somebody will one day spin off a new weird/academic conference for those that can't stand to be in the same room as no-platformers.


what does "no-platforming wrongthinkers" mean?


It means that a software engineer with odious politics was not allowed to speak about a completely separate domain [0]. Presumably because of the worry that he might give a rousing speech.

[0] http://www.slate.com/articles/technology/bitwise/2015/06/cur...


Technology is obviously political. Anyone trying to ignore that has an agenda to maintain the status quo. There is no sense in pretending we're solving mindless puzzles in a vaccuum; we're out to "disrupt" the world.

I didn't consider it when I posted the link, but Strange Loop provides an unusual platform for technologists who actually do "think different". Many use their tech platform to reinforce racism in notoriously racist tech spaces. But some take scifi seriously and try to improve the world. That matters.

Here's the tech good ol' boy world, where you're supposed to passively accept casual racism in ranch houses: "It was really quite lovely. Later that day, in the jeep to the ranch house where everyone was staying, he started up with the casual racism, and everyone ignored him." (https://twitter.com/maradydd/status/606799534983770112)


I didn't say tech couldn't relate to politics, nor do I wish to hang out with racists.

I implied that not all people would care to waste their time in the company of no-platformers. Disinterest is a perfectly reasonable position to take when faced with the proposition of hanging out with people with wildly different political beliefs than yourself.

The idea that some people might dislike no platforming almost as much as they dislike racism shouldn't surprise you.

It's not safe to support organisations that choose whether to platform based on the whims of a mob or their leaders.


You're an entryist. I hope anyone reading your comment reads the rest of the thread to which you link. Much sanity is to be found.


Of course other conferences probably considering inviting him and then decided not to for the same reason. You only know about Strange Loop because it got further along the process.


Perhaps their ability to censor silently proves they're better run? I would have nothing to have an opinion of.

In fact I'm against the thing and not merely its signal but I can see that some censors are 'fitter'.


One incident does not make a trend.

I disagree with Alex Miller's decision about Curtis Yarvin, but as far as I can tell, this is the only controversial speaker related issue that he's made.

Have you actually been to Strangeloop? I have, and I'll go again because the quality of the speakers and attendees is top notch. They're aren't afraid to host some really esoteric stuff. Thus, it's a place to really learn some cool stuff.

I've met Alex at Strangeloop and he seems like a pretty humble and reasonable guy.

His role isn't an easy one, and I see no reason not to attend what has been a pretty excellent run of conferences because of one lapse of judgement by the founder.


I wonder how many years it will be before a real AI can compete with Facebook's AI?

I guess by the time that's possible Facebook's pretend AI will already have cornered the market.

The public will only be able to see that you were the late entrant and that while your AI is faster it's occasionally incorrect in peculiar ways...

This seems like a fairly solid plan by Facebook to crown themselves the winners of a race that hasn't yet finished.


Pretending you have a working technology when you don't has been a recent theme in the startup world.


Thomas Edison claimed to have a long lasting light bulb before he actually did. He showed it to reporters one at a time in a booth. Between observers, he would change out the light for a fresh one. Source "How We Got to Now: Light" (on Netflix currently, at least in the US). Found the clip on PBS. Skip to 2:20 for the specific part: http://www.pbs.org/how-we-got-to-now/big-ideas/light/


He was also pretty bold on pricing, electing to set the initial price off what he predicted eventual costs of production would be. Initially, new products would be sold at a loss.

Perhaps not controversial in the perspective of modern venture-backed startups, but at the time it was a key reason GE won early market share on so many products.


I thought Edison had mostly been dismissed as not even remotely as great an inventor as most people thought he was?


He was a businessman, who hired people to invent things. He was certainly useful, but it's always been surprising to me how much credit he got for inventing things.


Capitalism and Personal Branding at its finest.


To a tiny universe of Reddit/XKCD readers perhaps.

In the rest of the world, for example at the offices of Con Edison, or in the city of Edison, New Jersey, he's still considered to be somewhat important.


Don't forget The Oatmeal readers! [0]

There's a billion and one things one could mention about Tesla. Sadly, only the tiny universe of people who dislike Edison (and see him as a businessman, not an inventor) are aware of Tesla's contributions.

[0] http://theoatmeal.com/comics/tesla


In a way, Edison is a very American inventor. His skill wasn't in craft or science, his skill was in sales and turning a profit.


Whoops. In my head that while Tesla rant was an XKCD thing.


I hardly think that's a recent development. Plenty of technology has been sold that way for a long time.


It even has its own term, "Vaporware":


"Vaporware first implied intentional fraud when it was applied to the Ovation office suite in 1983; the suite's demonstration was well received by the press, but the product was later revealed to have never existed."


Vaporware is neither new nor restricted to the startup world. There's actually a whole (sub)genre of music based on the concept!




It's just an extension of "do things that don't scale."


Or compare in literature, to Victor Pelevin's (somewhat dystopian) novel Omon Ra's "highly complex automated systems"...


> I guess by the time that's possible Facebook's pretend AI will already have cornered the market.

And cost Facebook a lot of money. Are they planning to pay for personal assistants for everyone?


You are presuming that they will employ all of the people needed.

Why for example would they not turn this into a platform that easily added the AI benefits for external vendors and services, and just be the middleman collecting a cut in some way.

They are already starting to integrate vendors into Messenger directly after all.


> Are they planning to pay for personal assistants for everyone?

In the new rules of the new economy, this won't be a problem. Money grows on trees. "Ad" infinity!



Applications are open for YC Summer 2016

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact