[HN Gopher] My tiny side project has had more impact than my dec...
       ___________________________________________________________________
        
       My tiny side project has had more impact than my decade in the
       software industry
        
       Author : mwilliamson
       Score  : 547 points
       Date   : 2021-08-01 12:05 UTC (10 hours ago)
        
 (HTM) web link (mike.zwobble.org)
 (TXT) w3m dump (mike.zwobble.org)
        
       | butz wrote:
       | Converting Word documents to HTML and fixing layout and
       | formatting issues afterwards is a huge pain of mine. I usually
       | end up pasting content from Word (or more recently, from
       | LibreOffice Writer) to CKEditor, cleaning extra formatting, like
       | fonts and only then moving content to CMS.
        
       | DangitBobby wrote:
       | > I don't know what the total amount of time saved is, but I'm
       | almost certain that it's at least hundreds of times more than the
       | time I've spent working on the tool.
       | 
       | To me, this is the _entire point_ of software and automation. To
       | give time and money back to people, because I want to make the
       | world better. I see software being priced to just _barely_ be
       | worth it for the buyer because it saves time (e.g. Mailgun and
       | Auth0). When I write software, I want to price it so that it
       | saves them so much money adoption is a no-brainer.  "Free"
       | pricing would be included in that, of course. Unfortunately, I
       | also don't write much useful software.
        
       | sdevonoes wrote:
       | Isn't the statement a bit obvious? Most of the tech companies out
       | there were not born to make an impact on society, they were born
       | to make money (which is totally fine). Only a handful of
       | companies can be proud of making money while actually having an
       | impact (good or bad) on society (e.g., Apple). Most of us (us !=
       | HN crowd) work for companies in the first group.
       | 
       | On the other hand, the vast majority of side projects have a very
       | different: to have fun and/or being useful. Things that are
       | useful usually make an impact on the society.
        
         | wintermutestwin wrote:
         | All enterprises have multiple impacts on society. Many people
         | want their work to tied to an overall net positive
         | organization. That's why so many companies put energy into
         | saying they are beneficial to society. Too bad those statements
         | don't have to be vetted by an independent and impartial rating
         | agency of some sort.
        
         | js8 wrote:
         | > Isn't the statement a bit obvious?
         | 
         | No, it isn't obvious, just like the Earth is not _obviously_
         | round. Even 40 years ago, the statement wasn 't obvious to many
         | public intellectuals in the West, when they were in favor of
         | neoliberal economic policies, under the broad assumption that
         | free markets will automatically bring meritocracy (whatever it
         | is). I think this example is one of many that show that
         | meritocracy doesn't really happen by itself, but requires
         | societal consciousness to be implemented.
        
           | noodles_nomore wrote:
           | Seems like money is only useful to pay for things that are
           | predictable and require hard work, but we're quickly moving
           | into a world where things that are predictable don't require
           | hard work and thing that require hard work aren't
           | predictable.
        
       | david_allison wrote:
       | Author's donation links [mammoth.js]:
       | 
       | https://liberapay.com/mwilliamson
       | 
       | https://ko-fi.com/mwilliamson
        
       | semireg wrote:
       | A few months ago my tiny side project blossomed into a 6-figure
       | income stream. It's an electron app that designs and prints
       | labels.
       | 
       | Users import spreadsheet data and generate barcodes. Since I have
       | a customer base and a target market, I've had every one of my
       | mentors tell me I need to stop writing features and work more on
       | marketing and analytics. But it's not as fun!
       | 
       | Instead, I find myself up late at night working on USB weight
       | scale integration for grocer/farm labeling kiosk. I'm looking for
       | beta testers that have a need for such a thing.
       | 
       | Check it out at https://label.live
        
       | 0x262d wrote:
       | This article starts to get at an interesting controversy about
       | the definition of value. Is the value of a project equal to the
       | amount of labor time it saves over previously used methods? Or is
       | it equal to the amount of labor time it took to create the
       | project? I think most software devs would intuitively pick the
       | former, and that is what the article sides with and also what the
       | market awards to innovations in the short term, but I think there
       | is merit to the latter and people should at least consider it.
       | The article presents an apparent contradiction (the author's side
       | project was coded in a few hours and has arguably had more of a
       | positive impact than their entire day job career's output) but
       | that contradiction is resolved by the latter definition of value,
       | the labor theory of value.
       | 
       | The labor theory of value explanation for this is
       | straightforward. In general, LTV asserts that the value output of
       | some work approximates the amount of work that ordinarily has to
       | go into it, or more precisely, of the socially necessary labor
       | time going into that work (ie, the time it would take an average
       | worker to do it without slacking off). This is because if you
       | wanted that work done and didn't care how it got done, the
       | socially necessary labor time would be the real cost of doing it
       | yourself or paying someone else to support themselves while they
       | do it (before various market dynamics and other distorting
       | factors - it is an idealized model). I.e., in an assembly line,
       | the cost of a part is the cost of raw materials + the cost of the
       | labor added to them. This seems straightforward for assembly line
       | work, but is a little less intuitive when the actual work is
       | about making other people's work more efficient, which a lot of
       | software dev falls into. But if someone simply said to themselves
       | "I need the functionality of mammoth.js", the core idea still
       | applies - of being able to replace the worker, hire a generic
       | software dev, and get comparable work (or at least, good enough
       | work), for a similarly low amount of value. Another way to think
       | of it is that mammoth.js might save a lot of people a lot of
       | time, but getting some version of mammoth.js implemented is
       | probably historically inevitable and has a fixed and much smaller
       | cost to actually do.
       | 
       | How does this resolve the contradiction in the article? Well,
       | mwilliamson's day job career labor output might possibly have
       | saved less time of other people's work than mammoth.js. But their
       | day job career labor output probably couldn't have been replaced
       | in any way but by a similarly large amount of time and effort
       | from other developer(s). Meanwhile, mammoth.js could be
       | reimplemented in a similarly small amount of time by someone
       | else, maybe taking a couple of tries to get it right. If
       | mammoth.js hadn't been written at the time it was, maybe that
       | would have happened.
       | 
       | This isn't to discount ingenuity or insight going into this side
       | project, or the usefulness of something like mammoth.js being in
       | the right place and time. But I think it is a more precise way to
       | think about how much value and what kinds are being added to the
       | world by larger or smaller amounts of effort. In other words,
       | devs shouldn't feel bad about having worked hard on stuff that is
       | less neatly labor-saving than a small widget, as long as that
       | hard work turned out to be useful.
        
       | nattaylor wrote:
       | I use a Mammoth WordPress plugin on a few sites. I dislike
       | prominent donation nags, but if just popped up when I converted a
       | document I think I'd be compelled to donate. It's a real time
       | saver.
        
       | lifeisstillgood wrote:
       | I am banging on about software literacy again, but if the users
       | were more software literate they _coukd_ have written something
       | themselves, and if we lived in a software literate society we
       | would reject inaccessible formats thus making the whole thing
       | easier- same as the ERP system mentioned elsewhere.
       | 
       | We have a long way to go before the code and the data is truly
       | free.
        
       | georgeburdell wrote:
       | As a dev at a large company, I'm wondering how the author went
       | about open sourcing the side project. My employment contract
       | stipulates that anything I write for work is owned by the
       | company. This company wouldn't have any motivation to let me open
       | source the work I do, which in my case does not go into any
       | product.
       | 
       | The reason I ask is that I have written, as part of my day job, a
       | scientific library in C# that doesn't appear to have any public
       | equivalent and I know addresses common tasks in the industry. I
       | would love to open source it, if not for beer money, but for
       | visibility to help my career --- I'm at that point where
       | promotions only happen with externally-visible accomplishments.
        
         | mwilliamson wrote:
         | Author here! The open sourced code was rewritten from scratch,
         | not least because the original version was in C# while the open
         | source version is in JavaScript. So, the same idea, but an
         | entirely new implementation.
         | 
         | I forget exactly what conversations I had, but it was also very
         | clear that they had no problem with me doing so since it
         | doesn't really have any connection with their core business. If
         | I wanted to, I suspect I could have open sourced the original
         | version so long as I stripped out the stuff that was specific
         | to the company.
        
         | tyree731 wrote:
         | At my firm you can request that side projects not be subject to
         | the company's copyright agreement. The firm's market is fairly
         | specific, so most requests get approved.
        
           | Lorean wrote:
           | I'm afraid it's difficult to call something written "as part
           | of their day job" a side project.
        
         | drran wrote:
         | > My employment contract stipulates that anything I write for
         | work is owned by the company.
         | 
         | Did you agree on the price of that extra work? If not, I
         | recommend to set price prohibitively high, e.g. $100 per line
         | of code or $1000 per hour of work. If your company really want
         | to own your side project, then they will need to pay the
         | requested price.
        
       | woranl wrote:
       | Client side document rendering has a lot of potential. There is
       | currently no open source library that can render docx file as
       | nice as mammoth. There are some commercial libraries that rely on
       | WASM, but they are generally bloated and you can't read their
       | source.
        
       | mwcampbell wrote:
       | > Sometimes I wonder whether it'd be possible to earn a living
       | off mammoth. Although there's an option to donate - I currently
       | get a grand total of PS1.15 a week from regular donations - it's
       | not something I push very hard.
       | 
       | There's no shame in making the source available but using a
       | license that requires payment for commercial use, like the
       | Prosperity [1] license.
       | 
       | [1]: https://prosperitylicense.com/
        
         | abiro wrote:
         | The problem with this approach is that it turns open source
         | adoption into a procurement process: the developer who wants to
         | use your projects needs to go through the legal department etc.
         | So if there is any alternative option, employee devs will avoid
         | a dual-licensed package.
        
         | musingsole wrote:
         | Also nearly impossible to enforce. This approach just adds a
         | layer of guilt/paranoia in the implied legal consequences.
        
           | pembrook wrote:
           | Few companies of any consequence are going to use a piece of
           | software illegally.
           | 
           | Every boilerplate due diligence process when trying to sell
           | your company includes looking at what open source work you're
           | using to see if there's any legal issues.
           | 
           | You'd be stupid to risk scaring off a multi-million dollar
           | pay day over something so trivial.
        
           | telesilla wrote:
           | In a business context however, how knows how many apps are
           | using it, and a properly done licence forces business to pay,
           | maybe only once but it's something. A commercial license
           | could bring in some small revenue that justifies maintenance
           | and new features.
        
           | scosman wrote:
           | Don't spend your time worrying about those who won't pay.
           | Almost always a better use of time to think about expanding
           | those that do/will. It's frustrating, but not a good use of
           | time.
        
         | goodpoint wrote:
         | This license is not written by a legal expert, I suspect.
         | 
         | For example this clause, phrased like an order, does not make
         | sense:
         | 
         | "Don't make any legal claim against anyone accusing this
         | software, with or without changes, alone or with other
         | technology, of infringing any patent."
         | 
         | You can't give orders to people in a license or other
         | contracts. You can only describe conditions.
        
           | mwcampbell wrote:
           | > This license is not written by a legal expert, I suspect.
           | 
           | FWIW, it's written by Kyle Mitchell [1], an attorney. It's
           | just that he places particular emphasis on writing his
           | licenses in plain language, not legalese.
           | 
           | [1]: https://kemitchell.com/
        
           | staticautomatic wrote:
           | Sure you can. Contracts are simply bargaining for promises to
           | do or not do something. Here, the "order" is the licensee
           | promising not to do something.
        
         | tonyedgecombe wrote:
         | Some people don't want to run a business and that's OK.
        
       | [deleted]
        
       | vinceguidry wrote:
       | I guess I can see why this would be surprising to most
       | programmers. It doesn't surprise me at all. Why would the wishes
       | of any profit-seeking enterprise, who serves a very select
       | clientele, those willing to pay for what the business provides,
       | have anywhere close to the impact of a software project chosen
       | out of a random itch, taken to the point where others actually
       | get interested in it, and use to build their side projects, each
       | of which can provide their own impact?
       | 
       | Unless you're a big techco with worldwide reach, what could
       | compete with that?
        
       | DrOctagon wrote:
       | Quite a few years ago as a (very) junior FE dev I used mammoth.js
       | to automate the generation of a biennial report. Three months had
       | been earmarked for the task as this is what it had taken in
       | previous years (due to bad tools and lack of expertise). I had it
       | done in less than a week by using mammoth. Mike was also very
       | accommodating with questions I'm pleased I cant remember as I'm
       | sure they were embarrassingly simple.
       | 
       | The project still took three months as it was one of those
       | special type of organisations, but it wasn't due to the HTML
       | generation :)
       | 
       | Thank you for mammoth.js!
        
         | [deleted]
        
         | musingsole wrote:
         | Your story and mammoth's origin story really highlight how the
         | Sisyphean corporate world is seemingly at odds -- or at least
         | tangential -- to progress.
        
           | DrOctagon wrote:
           | In the interest of full disclosure it was a government org.
           | Your point still stands though.
        
             | yunohn wrote:
             | > government org
             | 
             | Governments and corporates function incredibly similarly.
        
           | eurasiantiger wrote:
           | Corporate does not care about the job, or the client.
           | Corporate only cares about billable hours.
        
             | xcambar wrote:
             | Predictability, revenue per employee, and predictability of
             | revenue per employee ;)
        
           | leros wrote:
           | I'm just thinking about how mammoth.js is being developed for
           | free but is being used by corporations to make money. In a
           | way, he's working for free by making this open source.
           | Something is off about that.
        
             | kevinmchugh wrote:
             | This is true for most popular open source projects, fwiw
        
       | praveen9920 wrote:
       | I once helped a friend by writing a simple script to automate
       | sending series of mails which were usually composed manually with
       | attachments and same-ish subject and content.
       | 
       | This boosted their productivity at least by 60%. I was more proud
       | and satisfied with that simple piece of code than my entire
       | professional work that year.
        
       | lukevp wrote:
       | I think my career overall has been pretty high impact - I ran a
       | team that built new systems from the ground up that were used by
       | a team of 2k store employees to run daily operational tasks,
       | optimizing their performance and ux tremendously, as well as
       | building e-commerce into a website used by half a million people
       | a month.
       | 
       | I still feel the most proud of a little library I made one
       | weekend a few years ago [0], that's now used all over the place.
       | I get issues and contributions from Latin America, China, Japan,
       | across the US and Europe, and Australia. I've done consulting
       | work based on this library. It's a great feeling to know I built
       | something that others find useful directly and isn't a tangential
       | thing that was built as part of different business.
       | 
       | [0] https://github.com/lukevp/ESC-POS-.NET -- check it out if you
       | have a need to print to receipt printers from C#, and give it a
       | star!
        
       | ChuckMcM wrote:
       | Great example of how fixing a problem that other people have is
       | often much more impactful than fixing a problem that your manager
       | has.
        
       | nikkinana wrote:
       | I wonder who owns that code?
        
       | jacquesm wrote:
       | Same here, I spent many years on complex and large pieces of
       | software with relatively little impact, and an 'all nighter'
       | pretty much changed the world for real time video on the web.
       | Pretty weird when you consider that it was mostly gluing together
       | pieces that already existed and adding a small HTTP server.
       | 
       | I haven't been able to replicate anything close to that success
       | in all the years since then.
        
         | elcomet wrote:
         | what was the software ?
        
       | nubb wrote:
       | This happens in the crypto currency space all the time. I have
       | friends that have launched very thought out projects that they
       | spend a significant amount of time on. Then they'll launch some
       | meme project and it will do 1000x better. It's certainly a weird
       | feeling.
        
       | tppiotrowski wrote:
       | Companies isolate devs from customers by using Product Managers.
       | PMs interview customers and then decide what to build. By the
       | time the tasks get to the dev it's hard to understand the
       | motivation and impact. The best companies I've worked at put the
       | engineers and customers in close contact so they understood the
       | impact and shortcomings in their work. Alternately you need to
       | foster a culture of shared purpose where you have "faith" that
       | your work has impact.
        
         | wreath wrote:
         | I've seen more engineers completely disinterested in anything
         | customer related (and even calling users stupid!) more than
         | I've seen PMs isolating devs. Every time I ask a PM if I could
         | interact with a customer (not asking for permission, but to
         | hook me up) they were delighted. Every single time.
         | 
         | Another way to solve this problem is to have engineers on
         | customer support rotation of some sort. This way, engineers get
         | to see how their software is used in the wild and interact with
         | customers, and PMs get to see how unrealistic expectations and
         | deadlines comes back to bite you in the ass in a form of your
         | engineers being busy fixing half assed crap.
        
           | reader_mode wrote:
           | I agree about PM/dev/customer part but disagree on
           | dev/support rotation.
           | 
           | This sounds great in theory, in practice working on any non-
           | trivial software means there are parts you know little-
           | nothing about. Having spent time on support duty I'd end up
           | pinging team members for help (disturbing people without
           | having a sense of priority since I don't do support), budding
           | into other people's stuff without the capacity or desire to
           | follow it up long term.
           | 
           | The best way I saw to get devs into customers shoes is to let
           | developers be involved in client rollout - like ship then on-
           | site and see how people use the feature they wrote.
           | 
           | But frankly even then, devs shouldn't be making a lot of
           | these ae user facing decisions, send the UX guy.
        
         | formerly_proven wrote:
         | The project I'm currently the "lead developer" on never had a
         | PM, so we directly communicate with users/customers. Often we
         | are able to implement changes and make them available in a test
         | environment within the hour - people are amazed, because
         | they're used to everything taking days at the very least,
         | usually weeks or months, with a lot of stuff never being fixed
         | and so on.
        
           | mattwad wrote:
           | just be careful, without a PM you can end up building lots of
           | little features for each client, making individuals happy,
           | but then you end up losing sight of what problem you were
           | trying to solve, and suddenly your product feels very "heavy"
           | for everyone...
        
             | andreilys wrote:
             | Why do you need a PM for that?
             | 
             | That's what a good tech lead with a robust roadmap is for.
             | 
             | PMs sprung out of the notion that engineers are anti-social
             | and need someone to keep customers/internal teams at bay so
             | eng can focus on coding.
             | 
             | Of course in reality there are plenty of highly competent
             | tech leads who can both negotiate with customers on a
             | roadmap and build it.
        
               | robertlagrant wrote:
               | I think we'd call them PMs once the job gets big enough
               | to need that work done (almost) full time.
        
               | didibus wrote:
               | The work involved in keeping up with a roadmap,
               | convincing execs that the roadmap is worth investing in,
               | communicating it with the marketing teams, content teams
               | and support teams, tying it back with customer demands
               | and needs, and all that really ends up taking most of
               | your time as a tech lead, and you no longer have time to
               | work on tech design, architecture, training, reviews,
               | coding, testing, etc.
               | 
               | That's where you'd want a PM brought in, the tech lead
               | ideally would work together with the PM on the roadmap,
               | in that technology must be considered when designing a
               | roadmap, feasibility, effort needed, technical
               | complexities, needed tech dept pay backs, needed
               | redesigns, infrastructure upgrades, security
               | considerations, etc. As well as being consulted for what
               | can tech realistically provide as means to solve
               | problems, etc.
               | 
               | That's why I think a PM is needed, so the tech lead can
               | focus on leading the technology, while the PM focuses on
               | capturing requirements, getting funding, coordinating the
               | launch, and all that.
               | 
               | Ideally, there's also a separate dev manager, so the tech
               | lead doesn't have to worry about employee resourcing,
               | project allocation, hiring, compensation, promotion,
               | needs/wants, vacation time, performance, etc.
               | 
               | For all these things, the tech lead should be consulted
               | and have a voice, but freeing them from all this work is
               | definitely a plus, why have your most experienced
               | developer do all this management work?
        
               | dahart wrote:
               | It's true, there are plenty of engineers who are capable
               | of dealing with customers. PMs, however, did not come
               | from an idea that engineers are antisocial, you're making
               | assumptions. PMs have long existed in other industries
               | where the very same is true as software; the people
               | building the product are often capable of talking to
               | customers, but don't.
               | 
               | The reason PMs exist is because it's a full time job,
               | just like most roles. Being an engineer and/or tech lead
               | is also a full time job. In larger companies, we tend to
               | split out full time jobs. Often in small startups, people
               | have multiple roles. So in a small company you might see
               | someone talking to customers and engineering. In a large
               | company, it's far more likely that the engineer and the
               | PM are two different people.
        
         | shoto_io wrote:
         | I am not sure if it's correct, but I have heard that Apple does
         | not PMs in their main product because of that?
        
         | kevinmchugh wrote:
         | The best PMs I've worked with have very clear understandings of
         | customer workflows and needs (or work towards developing them)
         | and communicate those to the dev team. They also make sure to
         | share customer feedback, whether constructive criticism or
         | excitement/thanks.
         | 
         | It's really motivating to hear customers are happy and I don't
         | know why a PM wouldn't share that good news.
        
           | tppiotrowski wrote:
           | Outsourced operations like contractors are often neglected in
           | the feedback loop. So are SRE's and parts of the business
           | that are less customer facing. This can lead to lack of
           | purpose. Good companies make sure everyone knows their
           | contribution to the whole.
        
           | tialaramex wrote:
           | It is valuable to have someone for the customer to talk to
           | that is on their wavelength (often less technical and
           | sometimes more domain knowledge), and who has more soft
           | skills than you might seek in developers. Calming down an
           | angry customer is a useful ability and that's not what you
           | hired me to do.
           | 
           | However, sometimes the problem is just technical, and every
           | game of telephone makes it worse. I have had two week back-
           | and-forths which were eventually resolved by the agreement
           | that OK, this nerd who does our implementation (me) can be on
           | a teleconference with your nerd who does _your_
           | implementation so long as us grown-ups are also in the call -
           | and then it takes maybe five minutes to get to  "No the
           | _digit_ five. Not the word five, the _digit_ five. " "Oh! Oh
           | Wow. I never considered that. Sorry. Yes, it works now." and
           | we're done.
           | 
           | I really valued time spent shadowing people using my
           | software, one of our tools was for call takers, and _I_ could
           | see that the thing they 're all kinda used to but have to
           | keep working around is a thing I can fix with a CSS tweak,
           | whereas the change their _manager_ tells us should be
           | prioritised is going to take months. I can land the tiny
           | improvement next week, and make their lives better while
           | their manager argues with my manager about whether the big
           | piece of work is P2 or P3 and so on. The role I 'm in theory
           | taking next (if they get their act together and issue me a
           | contract to sign) is more user contact again, and I look
           | forward to being able to make people's lives better directly.
        
         | davidivadavid wrote:
         | Documenting and communicating motivation and impact are often
         | pretty high up the priority list for PMs, otherwise you're just
         | a context-free ticket factory, which typically results in
         | subpar products.
        
           | tppiotrowski wrote:
           | Not in my experience or maybe large companies have so much
           | hierarchy that the PM gives kudos to the dev manager that
           | never trickles down to the individual devs
        
       | cdubzzz wrote:
       | My first side project[0] is almost four years old at this point
       | and continues to get lots of interest and use. It's been really
       | fun to engage with its users.
       | 
       | My second side project[1] has not got nearly as much traction but
       | also has a much smaller target audience and I haven't really got
       | fully finished.
       | 
       | I do find my professional work rewarding and valuable but there
       | is definitely something different about the side projects. They
       | feel like much bigger accomplishments.
       | 
       | [0] https://github.com/babybuddy/babybuddy
       | 
       | [1] https://github.com/kcal-app/kcal
        
       | JabavuAdams wrote:
       | Good work!
       | 
       | On the Phenomenon of Bullshit Jobs
       | https://www.strike.coop/bullshit-jobs/
        
       | swayvil wrote:
       | One level down. My serious side project
       | (https://vimeo.com/241051006) is arguably less cool than my
       | casual side project (https://vimeo.com/308956882)
        
       | sheetjs wrote:
       | Our story is very similar. I wrote a small library for converting
       | XLSX and XLS files to CSV. Over the years, that grew into one of
       | the most popular open source libraries on npm/github:
       | https://github.com/SheetJS/sheetjs
       | 
       | Back in 2015, 'patio11 reached out to us. In addition to a
       | structured license purchase, he gave great insights and actually
       | wrote a blog post about the experience
       | https://www.kalzumeus.com/2015/01/28/design-and-implementati...
       | 
       | Today, we offer paid software builds to solve related problems
       | and it allows us to work on SheetJS full-time!
        
       | JoeAltmaier wrote:
       | These kind of translators are fun. Long ago I wrote a PL/M (Intel
       | proprietary compiler)- to - C convertor. It used context to
       | translate the simple looping constructs of PL/M to the most
       | congenial C loop (for, do, while). It translated the single macro
       | mechanism into either 'const foo=x', simple #define or #define
       | with arguments. It moved declarations into context. What it
       | produced looked like C, not 'C/LM'.
       | 
       | It can be a blast to tinker with these, iterating until the
       | output looks pretty sweet. One of my favorite projects. I can
       | imagine the docx - to - css translation allowed for lots of neat
       | tricks.
        
       | justinclift wrote:
       | Sounds fairly normal over the course of a lifetime.
       | 
       | One is "the day job", used to pay bills.
       | 
       | The other is "what I feel good about as a human being". It's
       | great when both align, but that's not the standard thing that
       | seems to happen.
       | 
       | Take it as a useful data point, not something to get bent out of
       | shape over. :)
        
       | tppiotrowski wrote:
       | I've worked at a VC funded startup that burned $3 million for
       | 2,000 users.
       | 
       | I built a side project that I put on Reddit that got 5,000 hits
       | last month.
       | 
       | The second seems like better ROI
        
         | CharlieMunger wrote:
         | I am one of dozens of moderators of the Hardcore Berkshire
         | Hathaway subreddit: https://old.reddit.com/r/brkb/
         | 
         | I put in a little effort each day, but thousands of people
         | benefit. Small work, big impact. Contributing on Reddit is an
         | easy way to have a meaningful effect on the world.
        
       | zrail wrote:
       | In 2015 or so I wrote a tiny tool for people to record the
       | outgoing voicemail message from their phone. In the intervening
       | years it's helped more than 23,000 people move on from loss, save
       | a grown child's cute voice, and lots of other things. It hasn't
       | been significantly financially rewarding but it's incredibly
       | fulfilling to help someone on such a personal level.
       | 
       | https://vmsave.petekeen.net if you're curious.
        
       | p4bl0 wrote:
       | I'm a CS associate professor. I teach a course which consists in
       | contributing to a free software, in third year at my uni. A few
       | years ago a couple of students decided to make a contribution to
       | GNU ls. The change was to have the output color independent of
       | capitalisation (it is based on filename extension). Their code
       | was accepted. It was a tiny tiny contribution, but it's probable
       | that these few lines of code are and will be executed a few
       | thousands times more than all other contributions my other
       | students made.
        
         | aiisjustanif wrote:
         | Glad to see France promoting meaningful experiences for CS
         | students.
        
         | inson wrote:
         | That the best way of teaching CS! Bravo! I wish the US
         | professors have the same attitude like yours.
        
         | inamiyar wrote:
         | That's so cool! Are you able/willing to share the course name/a
         | course page?
        
           | boulos wrote:
           | Looks like
           | https://pablo.rauzy.name/teaching/2016-2020.html#ddll (via
           | profile)
        
         | iamcreasy wrote:
         | That's great! Did you guide them through the process? Did you
         | motivate them in any way?
        
         | ozarkerD wrote:
         | Man I wish my college offered courses like these. I don't
         | regret getting my degree but I sure didn't get much out of it
         | besides the piece of paper that made me hire-able in some
         | people's eyes.
        
         | antoviaque wrote:
         | That's great to see this course -- there aren't enough good
         | courses materials on how to contribute to free software, and it
         | can be quite intimidating the first time. Yet, it can
         | definitely be one of the most rewarding development work...
         | 
         | With others from a few large free software projects &
         | communities (Open edX, OpenStack, Framasoft, Mines-Telecom...),
         | we are in the initial stages of producing an online course /
         | MOOC about contributing to free software. If you (or anyone
         | else reading this :) ) are interested in contributing or
         | joining the project at this early stage, please let me know. :
         | ) My email is on my profile.
         | 
         | Presentation site (draft): https://larrybotha.gitlab.io/mooc-
         | floss/ Repository: https://gitlab.com/mooc-floss/mooc-floss
        
       | ChrisMarshallNY wrote:
       | I can relate. My side project ( _not_ tiny) has had a much larger
       | impact on the world than anything I ever got paid to do.
        
       | icemelt8 wrote:
       | I think the only other team who has made such a feature is
       | Wordpress contributors, Wordpress offers a way to copy paste word
       | documents in their Text box, and it formats correctly.
       | 
       | Perhaps you can launch commercial license for your library, and
       | license it to famous CMSs, such as Umbraco or Craft. That way you
       | can make a living on it too.
        
         | lmz wrote:
         | They mention docx so I guess it takes the file as input (as
         | opposed to clipboard contents for web JS editors).
        
         | codingdave wrote:
         | A few years ago that would have been true, at least client-
         | side. There have been a variety of server-side options for
         | years, especially if you run Windows as the server OS. More
         | recently editors like CKEditor have vastly improved their Word
         | pasting.
         | 
         | Even so, mammoth.js seems to remain unique in the ability to
         | upload a file in the browser and programmatically retrieve
         | matching HTML. That is why I use it - I can get the HTML,
         | process it, and POST it back to my server already cleaned up
         | and ready for my CMS. The browser does all the heavy lifting,
         | my server remains a basic CRUD app, and I don't have to allow
         | file uploads as it all happens client-side.
        
       | felgueres wrote:
       | I'd love to see folks plan to monetize their product from the get
       | go and not as an afterthought.
       | 
       | They should get measurable, direct compensation for the value
       | created for others -- be that saved time, joy or something else.
       | 
       | I feel there's this quasi-apologetic approach to selling software
       | when there should only be respect for those who can create value
       | for others by their own creative and productive ability.
        
       | Wronnay wrote:
       | I think many devs have that feeling...
       | 
       | But often simple things have a very big effect - in my first job
       | I made some simple scripts which imported data from machines into
       | an ERP System.
       | 
       | I also made some bigger projects with feature rich GUIs at my
       | first job.
       | 
       | The simple scripts probably sill import data every workday and
       | automate a task previously made by humans since multiple years,
       | some of the GUIs weren't even used daily before I left that
       | job...
       | 
       | So I feel like the simple scripts will be there for a long time
       | and save many work hours while some of the feature rich GUIs
       | probably weren't necessary...
        
         | D13Fd wrote:
         | It's crazy how much time little scripts can save.
         | 
         | 10 years ago at my current job I created a script to automate
         | the job of checking a certain website for new data each day. It
         | used to be done by a person who would spend maybe 20-30 minutes
         | checking the site and circulating the info each day. Others
         | would also check the site on their own periodically for faster
         | updates.
         | 
         | The script just checks the site multiple times a day and
         | circulates the results.
         | 
         | Over the course of 10 years, I'd guess that my little script I
         | wrote in maybe 5-10 hours (including some tweaks over time as
         | the site format changed) probably saved in the ballpark of half
         | a million dollars in time spent, based on billing rates.
        
         | amelius wrote:
         | Ok, but then you should also ask: how much of that is _my_ work
         | and would someone else have written the same simple scripts?
         | Perhaps the main value is in the existence of these ERP
         | systems.
         | 
         | From that p.o.v. your feature rich GUIs may be your biggest
         | contribution to society, because that's really work based on
         | _your_ decisions.
        
         | flakiness wrote:
         | Yeah, this happens even within a side project. Smaller trivial
         | ones tend to be found useful, while bigger ambitious one tend
         | to ending up disappointing, even if completed.
         | 
         | At work, giving a spot-time quick help often feels more helpful
         | than pushing through a "proper" project task.
         | 
         | I suspect this is because large part of the "work" project is
         | more like a speculative investment than something obviously
         | useful. That is probably OK because finding large-enough-
         | obviously-useful-things is hard. What we tend to overlook is
         | that finding a tiny-but-obviously-useful-thing isn't as hard as
         | it looks. It's just hard to earn enough from it.
        
         | snarfy wrote:
         | My most used program was a 7 byte .COM I wrote with debug.exe.
         | It made the machine reboot. It took about 15 seconds to write.
         | A friend who worked at the college ended up using it in their
         | scripts. They had a way to do it before but it wasn't as
         | reliable as my little program. That college's infrastructure
         | was used as a model for the rest of the district and so my
         | little program spread to the other colleges.
        
           | oogali wrote:
           | jmp f000:e05b
           | 
           | Between fiddling with debug.exe and discovering that fixed
           | address, that put me on the path to demystifying technology
           | (or at least understanding everything is approachable).
        
             | MAGZine wrote:
             | I feel like everyone has an ah-ha moment when software's
             | facade of magic gives way to a genuine feeling that nothing
             | in software is inunderstandable.
             | 
             | I was helping my brother through some CS classes, and he
             | had to use some sort of graphics library, and things just
             | weren't clicking. I opened the source of the graphics
             | library so he could see what was going on under the hood
             | and he was like "whoa... It's all just... Regular code..."
             | 
             | Demystifying indeed.
        
               | ElFitz wrote:
               | I remember when a friend and I, both with barely any
               | experience at all, tried building our first SaaS.
               | 
               | We went crazy over access control, roles, etc, wondering
               | how operating systems and databases did it, driving
               | ourselves mad over how to implement it at the lowest
               | possible levels so the rest of the stack couldn't
               | possibly go around it...
               | 
               | We were pretty certain there was some highly complex dark
               | magic behind it all.
               | 
               | A few years later, I worked on a project where we built a
               | SaaS MVP for a client, with access control.
               | 
               | Turns out most people apparently consider ABAC overkill
               | and will go with a few simple if statements if they can
               | afford to.
        
               | nuclearnice3 wrote:
               | I showed a friend telnet yahoo port 80 GET.
               | 
               | "wait. it's .. just ... text!"
        
       | busymom0 wrote:
       | I think there's tons of developers who feel this way. Some of the
       | brightest minds and smartest people go to work for tech companies
       | simply working on figuring out how to keep an ad in front of your
       | eyes for a few extra milliseconds.
        
       | intricatedetail wrote:
       | Similar experience. I created a little project and it has become
       | very popular. It's also completed so there is no need to develop
       | anything apart from updating any security issues. When I feel
       | down I always think of that little project. Hoping to make
       | another one by accident one day.
        
       | alien_ wrote:
       | Same here, for most of my 15+ years career in IT I've been doing
       | DevOps stuff, mostly writing small scripts and infrastructure
       | code, occasionally hacking on existing projects enough to do
       | drive-by contributions.
       | 
       | About 6 years ago I started AutoSpotting, an open source tool
       | designed to reduce AWS costs by automatically replacing on-demand
       | instances with up to 90% cheaper Spot instances, it was meant to
       | be my playground project for learning golang.
       | 
       | I estimate it saved in aggregate in the tens or maybe even
       | hundreds of millions of dollars and multiple companies have been
       | built around my code or reimplementing the same idea.
       | 
       | It's still a side project that I work on occasionally but at some
       | point I tried to monetize it through support and custom
       | development. I failed to get enough traction to become a full
       | time job, currently make some $400/month from about a dozen users
       | whom I sell precompiled binaries through Patreon.
        
         | WrtCdEvrydy wrote:
         | > I estimate it saved in aggregate in the tens or maybe even
         | hundreds of millions of dollars and multiple companies have
         | been built around my code or reimplementing the same idea.
         | 
         | > It's still a side project that I work on occasionally but at
         | some point I tried to monetize it through support and custom
         | development. I failed to get enough traction to become a full
         | time job, currently make some $400/month from about a dozen
         | users whom I sell precompiled binaries through Patreon.
         | 
         | We've had a lot of issues doing donations for cool projects
         | like this. I'd really like a simple subscription service ala
         | Gumroad so we can sign up for the "Enterprise" tier. Saving
         | $100k we can totally kick back $5k to the person every month
         | without feeling it.
        
           | alien_ wrote:
           | That's exactly what I have been using Patreon for, it's not a
           | donation but a subscription for an enterprise tier. Still
           | very few people signed up for it, the OSS code is working
           | well enough and there's very little friction in just using
           | it.
           | 
           | Going forward I'm going to offer the enterprise stuff through
           | the AWS marketplace, further reducing the friction, hopefully
           | that will get more traction. It's just a lot of boring
           | billing engineering work that I could have spent on improving
           | the software.
        
       | tmp65535 wrote:
       | Similarly, I've been writing respectable software for decades but
       | I'm fairly certain that my most widely used piece of software, by
       | a wide margin, is a mildly pornographic app
       | (http://driftwheeler.com)
       | 
       | This app, published in 2017, has a continuously growing
       | population of users from all over the world. I get email every
       | day asking whether soft1 is the only server, thanking me,
       | suggesting improvements, etc.
       | 
       | It's ironic, and there is a lesson to be learned here.
        
         | secondaryacct wrote:
         | That porn for males is massively popular ? What a lesson :D
         | Isn't it the whole purpose of the internet ?
        
         | alien_ wrote:
         | It's just a numbers game. The total number of people who
         | consume porn is probably many orders of magnitude larger than
         | the audience of your respectable software, so even if you're
         | tapping into a very small niche of porn consumers, it can be
         | enough to overtake your other software.
        
       | ushakov wrote:
       | have you tried working in public sector? i'm proud my software
       | runs in our hospitals and saves hours for doctors, they now spend
       | treating more patients!
        
         | codingdave wrote:
         | I work in the public sector, and mammoth.js has been a huge
         | help in allowing me to create tools for school districts to
         | bring content from Word docs into our tools. So yes.... even if
         | not directly, the OPs work has definitely had an impact in the
         | public sector.
        
       | pxue wrote:
       | I've worked on multiple specialty projects billed in the
       | 10M+/year range with a handful of client stakeholders.
       | 
       | I'm sure it made impact but at most it saved <10 people a couple
       | of hours a day.
       | 
       | I'd compare this phenomenon as if drug companies spend millions
       | of dollars to cure an obscure disease a handful of rich people
       | have.
        
       | bartread wrote:
       | This is an interesting and thoughtful piece but I think Mike (the
       | author) does rather underestimate his impact.
       | 
       | I never worked with him directly but we both overlapped at
       | Redgate for several years. During the time I was there he wrote
       | code that was integrated into Simple Talk (https://www.red-
       | gate.com/simple-talk/), which is/was Redgate's website for
       | publishing content, articles, tutorials etc., useful to SQL
       | Server and .NET professionals. I believe he also worked on
       | https://www.sqlservercentral.com/, which remains the leading
       | community site for SQL Server professionals. The old Simple Talk
       | site is several years gone now, sadly, but Mike worked on it
       | during its growth phase and (guessing somewhat here) most
       | successful period.
       | 
       | These are sites that are used and useful to hundreds of thousands
       | of SQL Server and .NET professionals every month. Yes, they are
       | also promotional vehicles for Redgate and its products, and a
       | core part of Redgate's marketing strategy, but it is possible for
       | them to be both marketing and useful.
       | 
       | Mike is an excellent engineer, and very much cut from the get
       | (valuable) things done mould - which mammoth.js firmly
       | underscores. I have no idea what he's doing at the moment but, if
       | you get the opportunity to work with him, you should jump at it.
        
       | logotype wrote:
       | I work in finance. About 5 years ago I started building a FIX
       | library on my spare time, out of curiosity. Over the years it has
       | been countless fin tech start-ups as well as big companies
       | reaching out to me about the library, suggesting fixes and
       | features. Since then I have long lost the interest in the
       | technology which enables connectivity to financial exchanges to
       | automate trades, but I keep working on the library for the
       | benefit of others and just the joy of creating something. But
       | what's the actual impact? Enabling companies getting richer?
       | Greed?
       | 
       | https://gitlab.com/logotype/fixparser
        
         | qmmmur wrote:
         | Are you seriously asking that question about people who want to
         | automate trading in the stock market?
        
         | agumonkey wrote:
         | I'm trying to find niches where positive feedback loops have a
         | nicer effect on society (right now trying to help courthouse
         | daily duties for instance)
        
           | akudha wrote:
           | It would be nice to make a list of such niches. Things that
           | wouldn't take more than a couple of hundred hours to make (at
           | max) and are tremendously useful, especially to vulnerable
           | populations like old people, people with limited internet
           | connection, physically challenged people etc.
           | 
           | These need not be super polished, optimized etc. They just
           | need to work correctly and solve a problem quickly and easily
        
             | agumonkey wrote:
             | old people are a special demographics (I encounter a few of
             | them regularly, for IT reasons or not)
             | 
             | the obvious fields in the list:
             | 
             | - education
             | 
             | - healthcare
             | 
             | - justice
             | 
             | someone on HN showed an app for people to find good workers
             | for home rework, this kind of stuff could be tremendously
             | useful, and more generally the organization layer of
             | society is very lacking. This also match the issues at the
             | courthouse, basically making people well informed, and
             | communicating issues/info smoothly (instead of waiting days
             | to get a fake answer by someone shady)
        
               | alien_ wrote:
               | There's a lot to be done to address digital divide
               | especially for the elderly.
               | 
               | The other week I witnessed first hand how multiple
               | 50-something folks who own smartphones struggled with
               | something as easy as filling a form on a website for
               | making an appointment (in this case for getting a
               | passport) and confirming the appointment by clicking an
               | email.
               | 
               | Or think about the thousands of vulnerable/old people who
               | will die of COVID-19 because they failed to schedule
               | their vaccinations even though they could otherwise
               | access it. A friend who works in Berlin on radiotherapy
               | for cancer patients said lots of them aren't vaccinated
               | because they just can't sign up for it and their doctor
               | doesn't do it for them.
               | 
               | Anything that requires using technology, even as simple
               | as using a browser and getting a confirmation email
               | should be probably be also made available by more
               | familiar/accessible tools such as SMS/whatsapp/facebook
               | or a call center.
        
               | agumonkey wrote:
               | biggest problem in digital anything is the amount of bs
               | and randomness
               | 
               | non tech saavy people rely on rote learning at surface
               | layers, and every year comes a new way, new look, new
               | lingo .. they feel it's yet another big knowledge gap to
               | learn when in fact there's almost nothing new under the
               | sun (algorithms are as old as civilisation, logic doesn't
               | change much)
        
               | akudha wrote:
               | Physically challenged people are another group that could
               | use a lot of help. One of my friends has cerebral palsy,
               | until I met her, I had zero idea about the problems they
               | face.
               | 
               | These groups of people aren't served because there is not
               | much money in it :(
        
               | agumonkey wrote:
               | I'd gladly help people with those issues. I'm gonna seek
               | them (no idea why I never thought about that).
               | 
               | The reason I put elders aside is that their motivations
               | and emotions are very different from younger people.
               | There are lot of fear, loneliness driving their need for
               | help, and often they don't really want to own the
               | knowledge, it's more a little bit of emotional support;
               | which is cool, but not as motivating as, say, a younger
               | handicapped person, who has more skin in the game.
        
               | akudha wrote:
               | There was a language website that connected old people
               | with youngsters who want to learn languages. They
               | practice their language skills and help the old people
               | with loneliness. This is a very good idea.
        
               | agumonkey wrote:
               | indeed, those bridges are great
        
               | Asymmetryk wrote:
               | I'm prematurely dreaming of a browser plug in that can
               | more intelligentl arrange page elements when I am heavily
               | zooming in on text. The ability to select page trft6
               | enlarge would be great. I miss Opera browsers whole page
               | zoom possible because they wrote their own display layer.
               | Windows has lost so many years spawning graphics
               | subsystems, I can't believe that a distro hasn't emerged
               | for us olds. We'll give you green dollars for it on
               | silver round things even ..
        
         | CydeWeys wrote:
         | Are your users compensating you well for this? Sounds like the
         | impact you're having is making fintech serious money, so I hope
         | you're getting some of that.
        
         | alien_ wrote:
         | I'd probably offer some sort of support/consultancy services
         | and prioritize the work of the paying users, making it clear
         | when filing github issues and pull requests. This could easily
         | sustain you in a passive income way so you can spend most of
         | your time working on things that matter more to humanity.
        
           | eloff wrote:
           | Yeah, I think especially in finance companies would be
           | willing to pay for support and feature development. There has
           | to be a way to monetize the project and make it so at least
           | it pays for your time.
           | 
           | There's nothing wrong with a labor of love, but the companies
           | using your software can afford to pay for your time.
        
             | Asymmetryk wrote:
             | I am probably not actually being realistic in terms of
             | economic results and ROI, but the FIX library GP seems well
             | established - making it documentation that's the case I
             | would like to put forward : any code in a critical path,
             | and what better than a financial exchange subsystem, can be
             | purchased from any number of vendors with support, but how
             | many have genuinely caring, intelligent, thoughtful and
             | usable beyond the immediate remit, thorough and readable
             | documentation? Cloth letter binder and loose leaf format
             | with theoretical introduction, theory of operation,
             | enumerated common implementation errors for examples
             | together with laying out conventions for the payload / XML
             | DTD - the docs you can write tests and tools against
             | without the code.... I have signed off on a pretty penny or
             | two to obtain docs like this, and hundreds of dollars per
             | copy is totally reasonable. I'd thin film laminate select
             | chapters and affix a dry wipe pen inside (how much would it
             | be to custom some from All express?) and by the sounds of
             | this situation I think you could see a standard adoption
             | and satisfying return. Boxes, ring bind, shrink wrap and a
             | 2nd color printed sparingly add up to something that
             | management likes a lot, usually. Professional product
             | support bridges the economicd to enterprise fees, imo..
        
           | kilroy123 wrote:
           | But then it's a job and he/she probably won't like it
           | anymore.
        
             | alien_ wrote:
             | That's okay, it doesn't need to be a full-time job, but
             | more like a "4 hour work week" mini-job that pays the bills
             | with minimal ongoing effort.
             | 
             | The rest of the time could be spent doing other more
             | interesting things that just bring joy and/or benefit
             | humankind.
             | 
             | They'll probably also have further potential for
             | monetization, and so on, sustaining a life of leisure and
             | doing meaningful work.
        
         | satellite2 wrote:
         | I've been a user of your project and it's fantastic. I think
         | you're being too hard on yourself.
         | 
         | The proliferation of marketplaces and assets to trade (and all
         | type of projects, automated trading, market making, etc... that
         | your project enabled) can been seen as a net positive, as a win
         | win for all parties involved and more.
         | 
         | From a microeconomic perspective, your library enabled access
         | to startup using js and with relatively simple tech stacks
         | access to a tool that would otherwise be relatively complicated
         | and time consuming and for which they would not necessary have
         | the resouces. By doing so you lowered the cost of entry and
         | allowed new entrants to challenge the status quo.
         | 
         | And from a macroeconomic perspective I think it's one of the
         | reason access to capital has been simplified and has lowered in
         | cost, it's one of the reason for the low cost of mortgages and
         | the relative resilience of economies during covid (central
         | banks interventions are useless without bank and other
         | financial intermediaries participation, it would be like
         | pushing on a string).
         | 
         | Don't be fooled by the contemporary contempt against finance.
         | It's still the most important reason that explain the constant
         | improvmements in prosperity and peace of recent years, and the
         | best thing one can do is to make it less arcane and open it to
         | more people. One of the achievements of your tool.
         | 
         | You can be proud of your work.
        
           | nicoburns wrote:
           | > Don't be fooled by the contemporary contempt against
           | finance. It's still the most important reason that explain
           | the constant improvmements in prosperity and peace of recent
           | years
           | 
           | I think the contempt comes from the fact that financial
           | instruments have a tendency to concentrate those benefits in
           | small proportion of the population. Low-cost mortgages are an
           | excellent example: these have enabled wealth gain for those
           | who were able to get them at a certain time. But that gain
           | has come almost entirely at the expense of those who weren't
           | able to (or simply didn't) get them, who now face greatly
           | increased rent and house prices.
        
             | lazide wrote:
             | It isn't financial instruments doing that - it's people.
             | 
             | Be thankful that it allows this to happen somewhat
             | transparently and peacefully, rather than at the hands of
             | pinkertons, criminals, or the military - which is how
             | historically it has happened.
        
               | nicoburns wrote:
               | The financial instruments (and the underlying rules of
               | the economic system) are the enablers here. You're
               | probably right that it's probably better than what came
               | before, but that doesn't mean we can improve on the
               | system we have.
        
               | lazide wrote:
               | Of course we can improve it - by identifying where
               | people's behaviors and systemic effects are causing
               | undesirable behaviors. That probably doesn't happen if we
               | blame 'finance' for it though?
               | 
               | Every system has exploitable loopholes and will become
               | unbalanced once enough people start gaming it. Some of
               | them (especially new ones) are easier than others.
               | 
               | It's easy to say 'this is terrible', but that can easily
               | turn into rejecting a known system with adjustments and
               | corrections for bad behaviors that isn't perfect into a
               | system that gets gamed even easier by bad actors and
               | turns into an even worse (but different) mess. See 90% of
               | all revolutions ever.
        
               | andrepd wrote:
               | > It isn't X doing that - it's people.
               | 
               | That's quite a silly argument since you can very
               | literally replace X by anything and get a true statement.
        
               | lazide wrote:
               | Definitely not true.
               | 
               | Wildfire burns down your house (assuming no intentional
               | negligence?) - fire burned down your house.
               | 
               | Tsunami happens and wipes out your village? That was a
               | tsunami, not people.
               | 
               | Neighboring countries army invades? Yeah, that's people.
        
               | andrepd wrote:
               | Anything man-made, as should be obvious.
               | 
               | Example: It isn't democracy doing that, just people. It
               | isn't autocracy doing that, just people. It isn't
               | socialism doing that, it's people. It isn't capitalism
               | doing that, it's people.
               | 
               | Therefore democracy = dictatorship, and socialism =
               | capitalism. It's all the same, it's all people in the
               | end, so it's no matter.
               | 
               | Patently absurd.
        
               | lazide wrote:
               | If you replace 'finance' with another system, I guarantee
               | you'll end up with another disaster soon enough. The only
               | way you get halfway decent stability in any human run
               | system is to build in expectations of human corruption
               | and add in methods for self interested (aka greedy)
               | people to get payoffs by tackling said corruption.
               | 
               | The problem is that people are involved, and you're not
               | realizing what that means - people inherently are
               | corrupt, self interested, short sighted, power hungry,
               | etc.
        
           | andrepd wrote:
           | The financial services industry is focused on helping those
           | with the most wealth accumulate even more wealth. You can try
           | to spin this any way you'd like, but this is their raison
           | d'etre, it's the business they're in. Don't try to pretend
           | they're actually helping us all, especially after 2008 has
           | revealed their true nature to the wider public.
           | 
           | All you're saying would be correct if we had a sane system of
           | property rights, (which we don't); then finance would be
           | truly benefiting everyone. But that's not the world we live
           | in.
        
           | nicoffeine wrote:
           | > (central banks interventions are useless without bank and
           | other financial intermediaries participation, it would be
           | like pushing on a string).
           | 
           | Yes, the only thing financial intermediaries would be missing
           | is the actual funds (largely paid by the middle class) to
           | bail out corporations for the second time in less than twenty
           | years.
           | 
           | > Don't be fooled by the contemporary contempt against
           | finance.
           | 
           | There has been contempt for greed and corruption for a long
           | time, and for the same reasons that finance continues to earn
           | it today. If the middle class didn't constantly bail out the
           | banks and their related parasites, you would all be bankrupt.
           | 
           | Frankly I don't want to hear any advice from anyone in the
           | financial industry until you demonstrate the ability to pay
           | taxes and save enough to make it through the next crisis
           | without crawling to the capitol building with your hand out.
        
             | lazide wrote:
             | Pretty sure you're blaming the wrong people. I'm not now
             | and have never been in finance - but blaming banks or
             | traders for the Fed's actions is prima facia ridiculous.
             | 
             | And throwing in the whole 'greed is good' stereotype
             | doesn't help.
        
         | boulos wrote:
         | Huh! You left out the most funky part: you wrote a FIX parser
         | in _Typescript_.
         | 
         | What are people using it for? To make web apps and just not
         | have to roll their own wrappers around FIX/FIX-derived data?
         | (That is, if all back ends are used to speaking FIX, it's nicer
         | to have the front end and web serving tools also just speak
         | it?).
        
           | true_religion wrote:
           | People use nodejs in finance backends too. Its async
           | operators make it easy to munge different data streams
           | together and fan in/out results.
        
             | vmception wrote:
             | oh this is something to say louder for the people in the
             | back: there is no reason that finance and computational
             | finance gravitated around python
             | 
             | there is nothing inherent about that language aside from
             | people not having made some libraries in other languages
             | 
             | javascript especially nodejs is fine for most people's
             | finance cases
        
               | nuclearnice3 wrote:
               | It's true there is nothing inherent. Because all these
               | non-statically typed garbage collected languages with
               | Algol-like syntax are basically the same language. Given
               | that it makes sense that the decision is made based on
               | libraries, community, inertia and whim.
        
         | bigyikes wrote:
         | I don't think you have any obligation to continue supporting
         | the software, but give yourself more credit! You're making
         | dozens (hundreds? thousands?) of developers lives significantly
         | better. You're helping bring the finance industry out of the
         | stone age. You've created something useful and valuable, which
         | is no small feat.
        
           | hdudhdhd wrote:
           | Isn't FIX messaging part of the stone age problem?
        
             | bigyikes wrote:
             | Well, baby steps and all that :^)
             | 
             | At least it's not a hand-rolled, "enterprise-grade" (read:
             | extremely verbose with unnecessary abstractions) pile of
             | spaghetti. I'm slightly scarred from my brief stint at a
             | large finance firm.
        
         | jjeaff wrote:
         | There is a common refrain in charitable organizations that are
         | focused on helping the poor:
         | 
         | "Sometimes you have to feed the greedy to get to the truly
         | needy."
         | 
         | In other words, the greedy will always take advantage, but that
         | doesn't diminish the help you give to the needy. There is
         | simply no way to totally filter for the greedy.
         | 
         | This doesn't really apply directly to your situation, but at
         | least for every greedy company that benefits from free products
         | like yours, there are a lot of jobs created and benefit to
         | society as a whole when these companies create useful products.
        
           | cortesoft wrote:
           | I do find this aspect of human morality interesting... people
           | get REALLY upset at freeloaders, to a degree that is not
           | proportionate to the cost they add. We choose to spend a ton
           | of resources to prevent freeloading, even when the amount we
           | spend to stop them is more than we actually lose to the
           | freeloaders.
           | 
           | I guess it kinda makes sense as social creatures, but it can
           | be frustrating at times when you are trying to help people.
        
             | petschge wrote:
             | > We choose to spend a ton of resources to prevent
             | freeloading, even when the amount we spend to stop them is
             | more than we actually lose to the freeloaders.
             | 
             | Is it also more than what we would lose to freeloaders if
             | we did nothing against them? If yes, then it's indeed not
             | rational. But if no, then it's just indicative that what we
             | are doing is working.
        
               | cortesoft wrote:
               | Yeah, that is part of why I said it was interesting... it
               | is hard to figure out how important that behavior is for
               | social stability.
        
         | mech4bg wrote:
         | This is amazing. I now work in consumer SAAS web development,
         | but I worked for a long time in finance and for 7 years of that
         | exclusively focused on FIX, writing a real-time, highly
         | performant market interface. I would have _loved_ to have had
         | something like this while I was working on it. Have you thought
         | of commercializing it? Do you get to use it in your day-to-day
         | work?
        
         | high_byte wrote:
         | if you want to erase billions and stop the richness just remove
         | the library, or better yet add a typo :D
        
       | kragen wrote:
       | This is the magic of free software licensing: by removing
       | barriers to sharing, it multiplies the usefulness of whatever is
       | licensed by a much larger number of users, who are all free to
       | repurpose it as they see fit. Most of my own free software is
       | pretty radically useless, but I've written Wikipedia pages that
       | thousands of people read every day, and made improvements to
       | countless others. It would be difficult for anything I do in a
       | normal job to have as big an effect on the world, either positive
       | or negative.
        
       ___________________________________________________________________
       (page generated 2021-08-01 23:01 UTC)