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/
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!
Governments and corporates function incredibly similarly.
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.
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.
Few things I noticed that made this work in practice:
* Engineers pair up for few rotations with other engineers who are experienced in interacting with customers, triaging issues, troubleshooting issues across the system and identifying which internal service is causing issue and ping the team that supports it and/or move it to their support queue.
* The goal is not to fix every single bug or issue in the queue. Prioritize incoming tickets and gather as much information as possible before moving it to some team's backlog. Solve only problems that you think are manageable within the length of your support rotation.
* One engineer per team or owners of a set of services should on the rotation (this again depends on how teams are organized already).
* Pair with customer support or customer success agents when dealing with difficult customers, situations or need help communication-wise in general.
* Bring in these bugs to your team and make sure stakeholders are aware of them. This is important especially when the team ships something and moves on to the next thing thinking they have 100% capacity for the new project. This is another feedback channel that PMs should be aware of.
* Engineers on support rotation are exempt from their team duties while on support. Again, this communicates what capacity the team will be operating on in the next week or two.
I learned so much about other parts of our product and APIs, how users interact with it, and most importantly (for me at least, since that was the new part) working with people in the company who are not in engineering or product!
I've worked (as a dev) in a customer-facing industry where devs are generally divorced from customers. Working in support has helped me understand the codebase better (because yes, you usually don't know it all that well if you just fix bugs and build features) and helped me to (at the time) connect with the value some people get out of it. That was nice.
What was less nice is dealing with the angry minority of customers. That was I would say significantly more unpleasant than dealing with the happy minority was pleasant. For that reason I would not recommend interfacing with customers for anyone. There is a reason support agents have such a high turnover.
It's really motivating to hear customers are happy and I don't know why a PM wouldn't share that good news.
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.
Asking them to tell you next time doesn’t always work since they just cannot imagine that the thing that takes them hours a day can be fixed in 5 minutes, forever. I think they unconsiously don’t want their hard work devalued like 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.
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.
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?
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.
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.
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...
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).
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..."
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.
"wait. it's .. just ... text!"
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.
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.
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.
There's no shame in making the source available but using a license that requires payment for commercial use, like the Prosperity  license.
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.
FWIW, it's written by Kyle Mitchell , an attorney. It's just that he places particular emphasis on writing his licenses in plain language, not legalese.
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.
Whereas, if it's a permissive license like; MIT, then I'm personally more likely to be much more forgiving and even try and fix problems.
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!
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.
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. :)
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
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.
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.
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.
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.
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.
> 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.
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.
https://vmsave.petekeen.net if you're curious.
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.
I haven't been able to replicate anything close to that success in all the years since then.
I built a side project that I put on Reddit that got 5,000 hits last month.
The second seems like better ROI
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.
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.
I still feel the most proud of a little library I made one weekend a few years ago , 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.
 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!
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.
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.
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.
My second side project 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.
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.
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.
Unless you're a big techco with worldwide reach, what could compete with that?
On the Phenomenon of Bullshit Jobs
We have a long way to go before the code and the data is truly free.
They'll never know who I am but I am so proud to have improved their lives even a little.
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.
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.
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.
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.
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.
Just so you guys don't get into violent agreement.
That’s it! Handshakes at dawn it is!
That's quite a silly argument since you can very literally replace X by anything and get a true statement.
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.
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.
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.
>The only way you get stability in any human run system is to build in expectations of human corruption and add in methods for self interested people to get payoffs.
So which is it? Systems don't matter, or we need to build better systems? x) It seems these two sentences directly contradict each other.
>you’re not realizing what that means - people inherently are corrupt, self interested, short sighted, power hungry, etc.
I'm pretty sure I've noticed this before, actually. Why the condescension? Precisely what I'm defending is that we need systems where the greedy and the powerful cannot run steamrollers over the weak.
near as I can tell, these kinds of messes happen - period.
The reason for the condescension is you seem hell bent on assuming 1) there is such a better system that exists, or can exist, that doesn't make an even bigger mess, but don't seem interested in giving a pointer to it 2) that there were specific individual actors that 'did this' and can be identified, and that can be nailed down without new ones popping up in their places. Aka, there are specific bad guys who made this happen, and if they had been stopped, it would not have occurred.
Which near as I can tell, if they exist, even they didn't know they were those people at the time.
It's a never ending cycle that can be improved but not eliminated, and most of the improvement is after the mess has occurred.
If you go after the people involved with a purely punitive mindset like what you seem to be advocating, it also makes everyone hide everything they are doing everywhere even more (good or not, since they can't tell how it will turn out in the end and be retroactively judged), so it is even harder to figure out you've got a problem somewhere until you have an even bigger smoking crater. There were definitely people acting in bad faith and committing clearly criminal actions. There were also the majority of people along for the ride. There were also huge market forces, including all the normal folks signing up for insane mortgages.
Blaming it all on 'finance' is just silly.
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.
Every business is focused on making money, and that usually means serving the people with the most money because, well, they have the most money.
> Don't try to pretend they're actually helping us all, especially after 2008 has revealed their true nature to the wider public.
2008, where it became clear that the banks had screwed over their wealthy investors (and each other) to help chumps get mortgages they couldn't afford? How does that show what you're claiming it shows?
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.
And throwing in the whole ‘greed is good’ stereotype doesn’t help.
Blaming the fed for the bailout is like blaming firefighters for putting out a fire instead of the arsonist. That’s a pretty strange understanding of accountability.
While the world economy burned to the ground and families went hungry, the financial industry awarded their executives with billions of dollars in bonuses. If that isn’t greed, what is it?
Near as I can tell, Greenspan pumping trillions of near free credit into the economy is nearly if not more culpable than the loose underwriting at these banks - after all, if they didn’t loosen them, they’d lose their market share in near free credit environments.
And what about the borrowers that were signing up for these completely unrealistic loans? How do they fit in?
And the poor bastards bidding crazy amounts trying to get a house, any house, and also way overpaying in any real sense because of these crazy bidding wars?
It’s easy to blame amorphous entities, it’s hard to really nail down what was actually happening - and point out that everyone in the US was playing a part in a spiraling out of control mess.
Most of those details are in the findings of the Financial Crisis Inquiry Commission :
"More than 30 years of deregulation and reliance on self-regulation by financial institutions, championed by former Federal Reserve chairman Alan Greenspan and others, supported by successive administrations and Congresses, and actively pushed by the powerful financial industry at every turn, had stripped away key safeguards, which could have helped avoid catastrophe. This approach had opened up gaps in oversight of critical areas with trillions of dollars at risk, such as the shadow banking system and over-the-counter derivatives markets. In addition, the government permitted financial firms to pick their preferred regulators in what became a race to the weakest supervisor."
"In the years leading up to the crisis, too many financial institutions, as well as too many households, borrowed to the hilt. ... [A]s of 2007, the leverage ratios [of the five major investment banks] were as high as 40 to 1, meaning for every $40 in assets, there was only $1 in capital to cover losses. Less than a 3% drop in asset values could wipe out a firm. To make matters worse, much of their borrowing was short-term, in the overnight market—meaning the borrowing had to be renewed each and every day. ... And the leverage was often hidden—in derivatives positions, in off-balance-sheet entities, and through "window dressing" of financial reports available to the investing public. ... The heavy debt taken on by some financial institutions was exacerbated by the risky assets they were acquiring with that debt. As the mortgage and real estate markets churned out riskier and riskier loans and securities, many financial institutions loaded up on them."
> Near as I can tell, Greenspan pumping trillions of near free credit into the economy is nearly if not more culpable than the loose underwriting at these banks - after all, if they didn’t loosen them, they’d lose their market share in near free credit environments.
None of the firms told Greenspan to stop. They pushed for more and more deregulations and continued to take the money.
> And what about the borrowers that were signing up for these completely unrealistic loans? How do they fit in?
> It’s easy to blame amorphous entities, it’s hard to really nail down what was actually happening - and point out that everyone in the US was playing a part in a spiraling out of control mess.
No, it's pretty well documented. Calling the financial industry "amorphous entities" is... well, just kind of humorous. It's your choice whether to hold the industry that spent decades eliminating regulations for themselves accountable, or the people the industry took advantage of once they were free of oversight.
In line with your argument, if our financial elite don't know more about finance than everyday citizens (why else hold them equally accountable), and they're too incompetent to regulate themselves (else they would have corrected the Fed's behavior), what is their purpose? Wouldn't it be cheaper for everyone if we gave practically interest free money directly to businesses that produce actual goods and services?
You can certainly go on about all the folks who didn't stand up and say 'Stop!' - but really, we've got a bunch of those brewing in tech, and no one listens to anyone saying stop there either. There are a million apocalypses predicted every day - and it's rare if any of them ever ACTUALLY happen.
In retrospect, you can find those doing it in Finance back then, but they couldn't stop this mess anymore than anyone else - and plenty of people easily papered over the possibility of the crash, the same as we paper over a million other issues in tech.
The regulators were in on all this too.
So you can blame 'finance', same as someone could blame 'tech' for the election. But it doesn't really mean anything and it won't change anything, because it doesn't provide any useful information or potential corrective action.
> You can certainly go on about all the folks who didn't stand up and say 'Stop!' - but really, we've got a bunch of those brewing in tech, and no one listens to anyone saying stop there either. There are a million apocalypses predicted every day - and it's rare if any of them ever ACTUALLY happen.
They built models on the basis that house prices do not go down, counter to lessons I learned in a 9th grade economics class about boom and bust cycles. They lobbied to remove regulations designed to reduce risk and over leveraging, and the risk increased and they became over leveraged. They continued to repackage bad loans from predatory lenders as AAA investments well after they understood the consequences. That's why the major firms offloaded those financial instruments to anyone they could find, even if it meant wiping out the life savings of millions of people by saddling pension funds with negative equity. It was not an apocalypse. It was history repeating itself.
> In retrospect, you can find those doing it in Finance back then, but they couldn't stop this mess anymore than anyone else - and plenty of people easily papered over the possibility of the crash, the same as we paper over a million other issues in tech.
It looks like we agree that they are incapable of regulating themselves. If they aren't competent enough to understand the regulations they dismantled, or to take boom and bust cycles into account for financial planning, what is their purpose? If they can't mitigate risk or provide liquidity in a crisis, what function do they serve in the economy?
> So you can blame 'finance', same as someone could blame 'tech' for the election. But it doesn't really mean anything and it won't change anything, because it doesn't provide any useful information or potential corrective action.
Nations like Canada did not remove the regulations, and did not have a similar liquidity crisis, although they did suffer economically because the US financial system crash was so severe. There was a wealth of information on the effectiveness of regulation and firewalls between banking institutions, and many economists predicted another financial crisis before Glass-Steagall was effectively repealed after decades of lobbying from the financial industry. Canada was able to apply this useful information and take corrective action which kept them out of the crisis.
Similarly, there was plenty of literature on why placing social media outside the regulatory environment for all other media was dangerous well before the election and QAnon. The tech industry could do something similar, but you and I both know they are lobbying to keep regulations out. They are purposefully avoiding corrective action, despite the severity of the consequences, because it means they may make less money and have more competition. They want all the profit from their monopolies, but they don't want to spend any money to moderate it or comply with regulations. It's nothing but greed and hubris, and it is just as contemptible as the same motivations in the financial industry.
The solution is not mysterious or unknown, it's effective regulation. Your hypothesis is that no one in the tech or financial industries are capable of understanding the effect of their actions, or accepting accountability for them. I believe they do understand the effects of billions of dollars in lobbying activity, and know that if their scheme fails, they can avoid accountability, keep their profits, and still get bailed out. In either case, the "potential corrective action" is the same: effective regulation.
You’re 8th grade economics class also probably didn’t cover some very real scenarios where prices don’t and can’t go down - hyperinflation.
It’s easy to say Effective Regulation, it’s harder to do it - especially when everyone is getting rich (including the average homeowner who sees the value of their home skyrocket). I lived through ‘08. I was in the market to buy due to life changes in ‘05 and it was already out of control. Of the literally hundreds of co-workers, investors, other buyers, etc I interacted with, only one other one actually didn’t get involved and avoided problems. Of the dozen friends who I’m close with, a quarter of them got in over their heads buying during this time (others sold, or wanted to buy but were priced out). I ended up buying in early ‘10 for literally half the price. Keeping a steady hand through the run up of prices literally had me crying myself to sleep a few times. It isn’t realistic to expect all but a tiny portion of people to see what is really going on in such a mass psychosis event.
And Canada has been having a similar crisis for a decade+, it just hasn’t blown up yet - see the Vancouver, Toronto, etc. housing markets. These are impending financial crises in the making - or not. They may not have had bank crises in ‘08, but a lot of investors still lost a ton of Money.
And you keep insisting on everyone getting rich off bailouts - when what really kicked off the collapse was when firms were allowed to implode to set an example, everyone lost massive amounts of money on their investments, banks were nationalized, and an entire industry (mortgage origination) went through a nuclear winter. The gov’t bailouts (that in many cases were forced on solvent firms so the few that were in trouble didn’t get pushed into bank runs) got paid back, with interest. Someone made money, but someone always makes money. On a whole, they lost way more, and if everyone knew it was going to play out this way, very few would have kept doing it.
That not every single financial firm went bankrupt is indeed a thing. That we didn’t enter a Great Depression spiral because of it is also probably a good thing for everyone. Unless you’re saying you are a ‘debt is evil’ person, in which case be aware the hangover from implementing THAT in the modern economy would make the Great Depression look like a blip.
That said, if you write cool software that is cool. It doesn't need to have a huge social impact as long as you enjoy creating it, which appears to be the case here :)
"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.
I guess it kinda makes sense as social creatures, but it can be frustrating at times when you are trying to help people.
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.
So the net benefit is negative now, but it’s still better than the cost of not having the measures at all.
Also, yeah, it shouldn’t be easy to freeload. Make them work for it!
Virtually every time you integrate anti-freeloading measures, everyone pays the price to catch a relatively small minority of people abusing the system. It does not at all follow without study that the suffering these measures cause are better than the alternative of allowing some level of growth in the abuse of the system to make everyone else's lives easier.
Every organization should do its own studies and reach conclusions based on what actually happens in its domain and location of operation. Anything else is likely harming people and more drum beating than solid work.
I don’t necessarily disagree. But I think people are happier while being harmed by the measures than by the freeloaders.
There's nothing wrong with a labor of love, but the companies using your software can afford to pay for your time.
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.
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.
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?).
there is nothing inherent about that language aside from people not having made some libraries in other languages
What's odd about that? Typescript is a boring middle-of-the-road language from the last ~10 years, it's a pretty reasonable default language (although structural typing is a bad default if you ask me).
These need not be super polished, optimized etc. They just need to work correctly and solve a problem quickly and easily
the obvious fields in the list:
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)
These groups of people aren’t served because there is not much money in it :(
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.
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.
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)
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.
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.
Many companies (BigTech for example) are extremely net-positive financially. This means that the value they gain per employee is much higher than what they pay them.
Taking this further - the customers in many cases (and certainly in ideal cases) are getting more value than the price they are paying (hence they agree to pay), so in a sense you could argue that the value is actually even larger. This of course scales several times when working on some infrastructure (though the effect is very not obvious).
And you do.
Did you just save the city and the billions? Is that more meaningful and contributes more economically than someone who uses their rescue skills and saves a drowning stoned university student while walking home alone.