No Code
vas3k.com
vas3k.com
I recommend James C. Scott as relevant reading.
> Disclaimer #2: My stupid jokes in this post are not intended to insult someone or impose any radical opinions. They're here for a better connection with reality through an ironic reflection of it. Because the stupidest things in the World are always done with a serious face. And yeah, I know how taxes work and I always pay for apps, even the shitty ones. But that doesn't stop me from whining about it.
;)
> First, you work all month, and then you give half of the money to those who didn't. It's called RENT.
I'm beginning to think it's just a scam, where Microsoft and others sell a vision to people who can't judge it because they don't know what programming is...and the point is to have an incredibly convoluted and random licensing system where every little thing requires paying more money. It feels as calculated and predatory as a casino.
What "no code" boils down to, it appears to me thus far, is you don't have the version control, the refactoring ability, the ability to reuse code, the ability to see a reasonable amount of logic at once, the ability to easily copy and paste, the security of an editor that won't randomly mangle your code (sorry, it isn't code, it's...uh...JSON) it's just on and on, things you can't do, and nothing added in exchange except the label of "no code". And I don't see how anything complex can be maintained; it merely has the political advantage that you don't have to designate a developer to maintain it...but in reality, it's if anything harder to understand.
If you want the "developer experience" (source control, some code, etc.) while also having access to the flow-based editor you should look into Azure logic apps instead.
It's not helpful for anybody to be able to write their own services, even if they cannot code? Everyone who can't code, would disagree with you. Sure, they can spend some free time to pickup programming, and maybe after a lot of reading and practicing, would be able to build the flow in a programming language, but why do that when you could just drag and drop logic blocks until it solves your particular problem, then move on to what you really care about?
The difficulty isn't in writing the code, but specifying exactly what you want to do.
But, writing code (as text) is a lot harder for people to do, than to use graphical elements. Why I don't know, maybe it's just more daunting to get started. But people have an easier time pickup "programming" via blocks rather than text.
> and you're back to writing code
My point was more geared towards the people who can't write code. So this is not really an alternative for them. So something imperfect that kind of does what you need, in most cases, is most of the times better than nothing.
I don't think anyone is selling "no code" as a solution that works for everything and any case. But it does work for a lot, so us "real" programmers can stop implementing the same boilerplate over and over, and people who can't program, can build automated workflows for themselves, which is nice.
However the systems I've seen from vendors pushing (for instance) "no code" data permissions rules on top of an identity database, have quickly shown their rough edges and the need for custom building blocks backed by code (or worse, XML pretending not to be code!). Maybe it's getting better than this now.
Yep and programmers are terrible at delivering that: I do believe a lot of people like setting up their environments, running updates and fixing their code while nothing in the business logic was changed. I find it by far the most annoying part of modern programming; I want to build a product that adds to the bottomline; not figure out whatever I need to set up to get that done. After the set up, we do not need drag and drop or whatever; just code is fine, but can we just please skip any and all of the setup by default (you can change it if you require ofcourse!), while it being ready and secure for production, by default? That is what these no code tools do well: I can just start making datamodels, business logic and connections instead of worrying what crucial npm updates will break my code today.
Edit: Also when I run the npm i module no code equivalent (pressing add plugin/module or something), it will immediately work; no 90 page setup document of ‘integrating’ things in my application. Sure the flexibility!!! But why are we (me included) so incredibly bad a sane and ‘just works after install’ defaults? I still think, as said above, that people must like this busywork, otherwise you would expect more complaining?
I do know many freelancers (paid per hr) and many people under contract indeed like that work: it is a nice distraction from thinking about logic and it takes time (a lot of time sometimes), but I cannot believe people really would prefer it over taking a walk outside instead?
It occurred to me once that for the typical front end dev, there are 4 data types being dealt with, disregarding individual chars which don't have a whole lot of use on the internet at large. Now, someone who is using a framework of a framework is going through AT LEAST 4 translations. High level framework -> low level framework -> javascript -> machine code via the runtime.
4 data types, 4 languages. Just in the UI, not even talking about the server and the database.
Perhaps the trend is a reaction to poor language and framework design...
The good part is that (as the article) says, you only need to write the code when you know the code will be used.
The bad part is that the no-code solution will break at some point. Usually because some part of the chain introduced a breaking change, or the process its modelling needs to change in a way that the solution can't handle. Then you need to replace the no-code with actual code, while under time pressure because the business is broken waiting for the new solution.
He's right - this is a useful tool, and sitting in the middle is the best place. But there are lots of people who will read this and create something completely with no-code and with no intention of replacing it with code, until it breaks and then they're in a painful place.
What is harder about using a OCR app and calling the Airtable API to get the expenses compared to writing all the code to take photos, scan for text, and then upload to Airtable or even a SQL DB?
Often, it is good enough, when the no-code solution has some flaws, but not enough to justify a rewrite.
And some workflows utterly needs to be rewritten, because of various reasons (change in pricing of the provider, new feature that's not possible in no-code, bug in the no-code solution, scaling issue).
So, to take the example: you set up the expenses handling with no code, it's easy, all good. Then halfway through next year, the OCR app starts charging $1 per scan (as a hypothetical). Now you have to write some code. But your accountant is waiting for your receipts, so you have a deadline for the coding. And your code has to use the Airtable API, because that's where the rest of your process takes off. That API might be a lot harder to use than, say, SQLite, which would be your choice if you were coding the system from scratch.
So the code you have to write has constraints from the rest of the process that still works, and a deadline. So it's harder to write.
That's what I meant by "makes it harder".
And a lot of people are buying in in hilariously bad ways.
Little story: I did a lot of work with Army grunts trying to avoid getting blown up. The main tool was excel. Software shops kept delivering junk that nobody used. The acquisitions guys loved a slick demo and that’s pretty much all it did. They’d come in and install a new server cluster, which means a bigger server room, which means more cooling, which means a bigger generator, which means more diesel trucks, which means more convoys on the road, which means more getting blown up. New grunts would tool around on it for a month and then get a novel task they had to use excel for, and never go back. The acq guys had such disdain for the ‘users’ that they couldn’t imagine that they actually knew WTF they were doing. The slick demo went on to win the DCGS contract, and now they’re stuck with ‘easy’ where they need flexible, customizable, fast, simple (all the way down the stack).
So yeah, now I get it. It’s more like, no-UI than no-code.
Took me down a fun rabbit hole of German tax deductions for expenses - especially the fact that you can deduct a few thousand euros without evidence:
https://www.thelocal.de/20180509/german-tax-return-know-your...
This happens, it sucks, but it's not a reason to not host on cloud, use an API, or deploy with a CI/CD. Outsourcing is a calculated risk.
- take a photo of a supermarket receipt and OCR all the items
- get that at least 95% correct
- output that in a document with correct horizontal grouping?
If not, can someone recommend me an Android app for this?
Cool workflow he has developed. It seems taxes are too crazy everywhere.
That is my take from it. I could be wrong.
I just use GnuCash, a scanner, some good old Samba file-hosting on a local Debian server running 24/7, and WOL and VNC (or just SSH and SCP) if I need to access anything from not at home.
fixed the wording for you.
> those who didn't work
He didn't say "those who wouldn't work".
People that receive money from government programs include the disabled, aged, carers, students, those seeking work who can work, and those not seeking work who can work.
He spends hours (days) trying to automate what he himself claims is only a few expenses per month (and shows a photo of a very thin folder of receipts).
I can’t imagine his business will be ever very successful. He wastes too much time toying with simple things.
But aside from that, if one wants a “no code” solution to tracking expenses, along with imaged receipts in case later proof is needed here you go:
1. Take pic of receipt. If you need multiple pics per image, you can combine images post de facto via something like Apple’s Preview app (save as PDF), or you can use Apple Notes to do for you. I assume other competing platforms have similar options. Worst case scenario: simply add “page-2”, “page-3”, in the file name.
2. Save image file in a directory called “business-receipts”.
3. Name file with receipt date, vendor, amount, and maybe description or anything else. Date comes first for easy finding later. “2020-06-15 ATT 63-00 USD Monthly business cell bill.pdf”
4. Enter transaction into appropriate tab of business finances spreadsheet (cash, bank, credit card, etc.)
5. Add a category for the expense, if you want.
6. Get back to work.
Benefits?
1. No code necessary (unless you count your initial spreadsheet setup and the use of VLOOKUP for reporting). Call me crazy but if you’ve been going through all the gyrations outlined in the article, I assume you’ve mastered VLOOKUP or can do so in 10 minutes and that you’ve also graduated Junior High school.
2. No trusting OCR “auto-populate”. Most of us can type faster than these things can think. Also, if you trust those (without verifying each time), I have some perfectly safe driverless cars to sell you.
3. Almost no technical debt. No API depreciation. No risk of anyone being bought out.
4. Offline. Works without the internet. As did most all business processes 25 years ago on PCs. Amazing. No clunky browser needed either.
5. Secure. Your data is kept Local First. If you choose to backup online, so be it. Encrypt and Backup. But all your prior processing between multiple “services” (with your unencrypted data being manipulated on their ends) is no longer necessary.
Counter-Arguments:
1. Excel is now also a “service”: True but it’s more popular and has more staying power than any of the ones you’re using. If you really think you don’t want to pay monthly for Excel (not sure what business can avoid this), there are plenty of free options. And for the purposes of this method, at least, you could do this on Excel 97 (buy once, use ‘forever’).
2. Still have to deal with online storage: Well, no you don’t, but let’s pretend that you only trust hard drives in the cloud and not the $100 4Tb one you can get at Walmart. So what? Encrypt and send it on up. If you use Macs or Office365, you likely have plenty of room already. Why involve another third-party? But anyway, this is a part of the “no code” process you added as if it was unique only to that process. It’s a bigger part of a different decision on how you store, encrypt, and/or backup your business data. A single line CRON job would take care of this, unless you count that as “code” since it involves typing a line of text instead of 47 mouse clicks.
3. This isn’t multi-user: True. Based on the 2 receipts per month statement, and the thin Lemonade Stand folder of receipts, it didn’t seem worthy of that functionality. If multi-user is needed, and the free WaveApp is costing you sleep, Quickbooks is your solution. Welcome to the world of Big Boy Businesses where the owners work hard and underlings do data entry into complex software.