by mwilliamson on 8/1/21, 12:05 PM with 189 comments
by p4bl0 on 8/1/21, 1:11 PM
by logotype on 8/1/21, 3:49 PM
by DrOctagon on 8/1/21, 12:55 PM
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!
by tppiotrowski on 8/1/21, 4:02 PM
by bartread on 8/1/21, 3:17 PM
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.
by tmp65535 on 8/1/21, 1:22 PM
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.
by Wronnay on 8/1/21, 12:31 PM
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...
by mwcampbell on 8/1/21, 12:53 PM
There's no shame in making the source available but using a license that requires payment for commercial use, like the Prosperity [1] license.
by sheetjs on 8/1/21, 7:26 PM
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!
by DangitBobby on 8/1/21, 8:12 PM
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.
by justinclift on 8/1/21, 2:00 PM
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. :)
by semireg on 8/1/21, 6:00 PM
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
by pxue on 8/1/21, 1:23 PM
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.
by sdevonoes on 8/1/21, 12:43 PM
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.
by kragen on 8/1/21, 5:29 PM
by praveen9920 on 8/1/21, 8:46 PM
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.
by david_allison on 8/1/21, 4:47 PM
by icemelt8 on 8/1/21, 12:30 PM
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.
by zrail on 8/1/21, 8:00 PM
https://vmsave.petekeen.net if you're curious.
by ushakov on 8/1/21, 12:34 PM
by alien_ on 8/1/21, 3:45 PM
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.
by busymom0 on 8/1/21, 2:06 PM
by nattaylor on 8/1/21, 1:42 PM
by simonblack on 8/2/21, 12:09 AM
It used to be that my ever-present problem was in dealing with Word Documents. Practically every document I received back then was a Word Document. They were ubiquitous. If you couldn't read a Word Document you couldn't do business.
I used WABI on Solaris to run Word itself in the 90s. It wasn't always workable. So a lot of the time I was dual-booting to Windows and running the true Office.
In the Noughties, I was able to stay in my UNIX-like system and run Star Office followed by Libre Office to read the fairly common Word Documents that came my way.
But now, in the early Twenties, I only just realised that over the course of the 2010s, all of those Word Documents just dried up and blew away. These days, I might receive perhaps one to two .docx files a year, and Libre Office handles them without me having to think about it.
But I think the biggest killer of Word Documents has been Microsoft itself. By trying to stay proprietary and keep the free Office suites continually playing catch-up Microsoft kept extending and extending Word's features. If you didn't have the latest (expensive) Microsoft Office, you couldn't read the latest Word Documents. People got sick of this and the world gradually moved, over the course of the decade or so, to sending and receiving .PDFs.
Adobe were smarter than Microsoft. They realised that a .PDF could be available to all, no matter what operating system one used, and everybody could use it. That being the case, everybody DID use it.
by jacquesm on 8/1/21, 2:32 PM
I haven't been able to replicate anything close to that success in all the years since then.
by tppiotrowski on 8/1/21, 4:06 PM
I built a side project that I put on Reddit that got 5,000 hits last month.
The second seems like better ROI
by felgueres on 8/1/21, 9:25 PM
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.
by lukevp on 8/1/21, 3:01 PM
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!
by nubb on 8/1/21, 5:19 PM
by georgeburdell on 8/1/21, 5:35 PM
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.
by cdubzzz on 8/1/21, 7:22 PM
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.
by JoeAltmaier on 8/1/21, 3:07 PM
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.
by betwixthewires on 8/2/21, 1:35 AM
I've found that for the most part, you can work for money or you can work for impact. Commercial pressures prevent real disruption once a product is well established, and when it isn't, your disruption is corralled to the end of earning market share for your company, so anything disruptive that would go against that is not implemented.
That's why I don't work in software anymore. It may seem weird, but i would rather work a bullshit job. But I do write software, and it is all FOSS, and I pick my projects based on one principle: minimum effort for maximum impact.
by vinceguidry on 8/1/21, 6:42 PM
Unless you're a big techco with worldwide reach, what could compete with that?
by JabavuAdams on 8/1/21, 3:06 PM
On the Phenomenon of Bullshit Jobs https://www.strike.coop/bullshit-jobs/
by lifeisstillgood on 8/1/21, 1:43 PM
We have a long way to go before the code and the data is truly free.
by iaw on 8/2/21, 1:08 AM
They'll never know who I am but I am so proud to have improved their lives even a little.
by swayvil on 8/1/21, 6:17 PM
by intricatedetail on 8/1/21, 2:08 PM
by butz on 8/1/21, 12:41 PM
by woranl on 8/1/21, 6:02 PM
by kristianp on 8/2/21, 9:31 PM
by ChuckMcM on 8/1/21, 7:21 PM
by mountainriver on 8/2/21, 12:43 AM
by ChrisMarshallNY on 8/1/21, 5:00 PM
by 0x262d on 8/1/21, 8:42 PM
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.
by aaron695 on 8/1/21, 11:27 PM
by nikkinana on 8/1/21, 7:21 PM