I see. Yes, those are on the roadmap.
HN user
radva42
Can you give an example? I'm not that familiar with pagedjs, just pulled it for the benchmark.
My library has support for @page rules, but that's actually pretty basic. I needed more advanced headers/footers and added support for in-html headers/footers like this: In your <body> you cna define headers/footers by wrapping content in a <section> tag. For example:
<body> <section> <header>... any HTML here, full CSS support</header>
<div> Some normal flow content</div>
<footer>Your footer HTML</footer>
</section>
</body>This structure is purely optional, but it's a really convinient way of designing pages with different styles in the same document. An HTML file can have any number of these sections meaning you can generate a PDF with different headers/footers.
Some other bits: It has support for 100% height that match the entire page, it can handle forced page breaks inside flexbox containers (Chrome doesn't even try ... just ignores it) and also follows page-break: avoid correctly - so it doesn't randomly split table rows for example.
I am working on a HTML-to-PDF converter written from scratch in pure Go. I got tired of using headless browsers for various reasons and decided to give it a try and implement something that I can use internally. However the results have far exceed my expectations and I've decided to open source everything. It's around 10x to 15x faster than wkhtmltopdf, which is by far the fastest headless browser converter. It's 80x-100x faster than a pagedjs. It's even 2x faster than PrinceXML, which is pretty much the most mature and reliable HTML-to-PDF converter on the market. It also produces the smallest PDF size.
I started small as a toy project, but gradually implemented full support for proper block context, flexbox layout, CSS variables, tables, etc. to the point where I have almost full support of all major CSS features (even math functions like calc(), min(), max()).
I'm cleaning up the code right now and will upload it later today or maybe tomorrow here: https://github.com/PureGoPDF
I had the same thought as you and started working on something that can be described as "AirTable meets Webflow". It's basically a no-code database with drag-and-drop page builder: tables are created and linked together (like in AirTable) and interactive pages are designed to work with that data (like in WebFlow). So in other words users don't directly use a spreadsheet-like UI to work with the data. Instead they use custom-designed pages - it is both much more powerful (e.g. fully scriptable, multiple pages can be linked to form more complex workflows, which wouldn't be even possible with spreadsheets) and yet easier to use. Oh, and it's self-hosted. Judging by the response from users it does seem like something like this is really needed.
I put some pretty crude demos online about a year ago [0] ... back then the idea was to create a more general purpose no-code web app builder, but since then I decided to focus specifically on database applications.
I think one of the reasons for this explosion in new productivity tools we are seeing is the remarkable progress the web platform has made in recent years. I know web developers complain about the rapid speed web technologies are moving, but I personally am amazed by what's possible today. True, it's hard to keep up with everything, but I can't wait to see what will come out of WebComponents and WebAssembly.
Also putting all software in the browser doesn't necessary mean that the users have to give up control over their software and data. Maybe there's a middle ground by making it easy for the end users to run their own software in the browser. At least this is an idea I've been working on for quite some time - a self-hosted visual (no-code) software builder called FormBeaver[0] that let's users build and host their own custom database software without any code. Currently the users need to download it and run the App Builder on their own machine for it to work, but I'm hopeful that in the near future it would be possible to put it entirely in the browser thanks to WebAssembly. The one thing that's missing in the browser right now is an SQL database. I haven't found a way to run SQL in the browser.
If you mean the web app, then yes - apps can be cloned and then merged with a single mouse click. This is done with snapshots.
Yes, you can deploy an app anywhere (linux, windows, mac) as long as the FormBolt binary runs on that machine.
Hello, OP here.
This is something I've been working on for quite some time. The goal is to make it easy for anyone to build database apps by first defining a data structure and then creating forms and UI around it. Pretty much anything can be built with FormBolt - from very basic apps to replace excel spreadsheets to complex apps for inventory management, product management, or any custom business processes/data. This is not a tool for visual programming. Instead I think of it as a visual scaffolder - users visually create the app blueprint, which the background service uses to automatically create and deploy a fully functional web app. It offers granular user permissions and it's easy to create different forms/workflows for different user groups.
FormBolt can run locally without a centralized server (all data stored locally) or you can put it on a remote server, enable networking and have your own private cloud app.
As the title it has a visual builder and doesn't require writing any code (for the most basic apps), however writing some JS and SQL is necessary for more advanced functionality. From my experience with it so far I can say that building the usual CRM/project management/invoicing app takes a few hours (from idea to working app). In fact it takes me more time to decide what forms I need for an app than actually building it.
This is what I used to create it: - Front: VueJS & Semantic UI - Back: Golang - Database: PostgreSQL
What do you think?
Awesome, let me know what you think.
Visual builders seem like a somewhat controversial topic on HN, but I personally am a huge supporter of the idea. So much so that I invested a lot of time in building a visual builder for database software myself [1]. It's a tool that looks perfect for UX designers, who can use it to build fully functional CRUD apps without writing code.
For example starting with the standard CRM and invoicing apps and going to more complex apps for inventory management, product & project management - virtually any kind of database software can be built without writing code.
Wool (Silo series)
https://www.amazon.com/Wool-Omnibus-Kindle-Motion-Silo-ebook...
Thanks for the feedback, Marcus. I'll look into the issues you mentioned.
I'm working on such CRUD app builder, which might be interesting to you. It's self-hosted and because it's written in Golang the entire server is a single binary - users can simply download the binary, run it and that's it. The data is stored in PostgreSQL. The form builder generates JSON, which is stored in the database and the server builds the resulting app on the fly. I'm building the first demos as we speak. So far I have an invoicing app with payments tracking, overdue invoices, etc. and a second app, which is Bill of Materials. It can calculate manufacturing costs based on recipes with different inputs like raw materials, processing, other parts and assemblies and so on.
I'll try to put the demos on the site by tomorrow.
It still cannot work with any third-party APIs though, but other than that virtaully anything can be built in a matter of a few hours (maybe a day or two for the more complex and large apps).
Also I've implemented implicit workflows, where what happens is defined in the forms based on what components are inserted into it. There isn't the traditional "when A happens, do B" kind of workflows. IMO the implicit ones are much more pwoerful and flexible.
You can check it here (demos coming soon, currently one one basic tutorial): https://www.formbolt.com
We are legion (We are bob): https://www.amazon.com/gp/product/B01LWAESYQ/ref=series_rw_d...
An awesome sci-fi story about a software developer who wakes up in the 22nd as a computer program
I absolutely agree.
That's why I don't target primarily developers, but the end-users of such apps. Of course knowing Javascript wouldn't hurt, because it opens a lot of more possibilities to further extend the entire app, but my idea was to make it possible even for non-developers to create apps for CRM, invoicing, accounting or inventory management for their needs. So in my case it's not really visual programming, but a drag-n-drop builder, which also has an integrated code editor in case the user needs it: if they know SQL, awesome - write a custom SQL and it is automatically mapped and available in the forms.
This sweet spot that you talk about between ease of use & flexibility is definitely key.
Awesome, looking forward for your post on ShowHN!
Yes, that's a very early version of the project from one year ago and before migrating to vue.js. I haven't updated the site or the demos since then, but the new one is coming next week.
I've been working on a project that does exactly what you described for the last few years. IMHO vue.js/react really changed the game here, especially for CRUD apps.
For example what I did was to code a server part in golang and use vue.js on the frontend and for the app builder. Using the web-based app builder (also 100% vue) the user can design forms. The forms are stored as serialized JSON in the database and the server renders dynamically vue.js components. It's super fast. And there's a complete freedom to design any form with a 16-column responsive grids and a lot of widgets and styling options. Forms are also nestable (thanks vue!) and completely extendable with custom JS code so it's possible to create a custom widget and then simply import it in other parts of the app.
As I said I think the shadow DOM and frameworks like vue really made the difference. I started without using such frameworks and it was not only tedious, but the resulting app wasn't very interactive and felt like a customized Excel spreadsheet attached on top of a PostgreSQL database. Now it's a completely different story - it's easy to build fully reactive apps that feel like a "normal" cloud app and are actually pleasant to use. Of course instead of spending few months designing and building it, it was created in a few hours.
So yeah... I think that drag-n-drop builders are definitely coming and will probably eliminate the need to write such apps in coming years.
I agree.
I am currently using Linode, but would move to AWS if they offer a cap. 2 years ago I signed up for the free AWS and forgot about it (didn't use it at all). Ended up costing ~60$ before I found out and since then I've avoided it.
I am not very surprised by this news: german companies are very, very strong in this field.
I worked a few years in a german research facility for production technology and automation a few years ago and the stuff we were working on was impressive ... to say the least.
Very smart people and a lot a discipline => it's obviously paying off.
Well I built it for a client and will have to see if it's OK to make it open source.
I agree with you. While I do not necessarily think that the syntax feels overly complex (it's just YAML) the entire blueprint tends to get hard to read and complex if you add a dozen elements and tabs.
IMHO blueprints are great for a few simple cases, but anything beyond that requires writing a plugin. And plugins are easy to create and integrate in the Admin panel.
And also the Admin panel can be made client-proof. Panels like Configurations/Themes/Plugins can be easily disabled for individual users.
Now, the hardest part would be the "Pages" section which gives too much control to the client and therefore the ability to mess up the structure of the site. This is something I am currently thinking about solving with another plugin which would allow the client to modify content, without modifying the structure of the pages.
But in general I think that the way grav handles media, assets and routing is awesome and I really enjoy working with it.
Kudos to the grav team :).
I can highly recommend grav: https://getgrav.org/ It uses Twig for templates, stores all data in files (Markdown) and the Admin panel is easy to extend with custom fields without writing code. Additionally there's an OK form builder, which can be used to build basic forms and perform basic operations (e.g. store data in files, send e-mails, etc.) but for anything more complex you would need to write a plugin.
I've written a few plugins for it, one specifically for creating albums and galleries for portfolios and I think that it's easy and a straightforward process.
The site of the project (including demos of built apps for inventory management, accounting, sales management, etc.) will be up and running by the end of the week.
I'll make sure to post it in the ShowHN section. :)
Coming from C++/C# and having previously used PHP for my web projects, I absolutely love Golang!
I never really liked dynamically-typed languages ... actually I really dislike PHP, but it was ... easy and familiar.
But after just a few days of playing with Golang it just felt right. It's a language to get shit done fast and easy ... and that's the most important thing IMHO.
And yes - I don't miss generics ... at all :>
For the last 14 months I've been working on a self-hosted server for building complex CRUD apps using drag-n-drop in the browser and building it with Go was a great decision.
Not about mindfulness, but I highly recommend this book: http://www.amazon.com/Brain-That-Changes-Itself-Frontiers/dp...
Well, I wouldn't say that I can control it better. These reactions are way too primitive to be consciously controlled. I simply do not get triggered by the same situations any more ... maybe the mind becomes more resilient and thus the "grounded" and "calm" feelings. There are some pretty good explanations about how mindfulness actually works and how it causes the amygdala (the brain region responsible for emotional reactions) to literally shrink and be less reactive (google it, really interesting stuff). Imagine it this way - you are in a situation, which normally causes you severe anxiety. You start feeling the unpleasant physical sensations, the obsessive thoughts come aaaand ... they simply pass. Like 2 minutes later you don't even remember that you were having them. This is what started to happen to me after 6-7 months of practice. Another thing that I have noticed: The need to mentally rehearse situations, which cause me anxiety, has disappeared. I used to waste a lot of time imagining what I would say, what would happen, etc. but the urge to do it is not there any more.
I have been practicing mindfulness meditation for the last 14 months - 30 minutes, everyday and I have to say that it has been virtually the most important skill that I have picked up. Because it's essentailly that - a skill. I was very stressed and the anxiety started to affect virtually every aspect of my life. My family wanted me to seek professional help (take pills), but I decided to try to take care of it myself so I started reading books... a lot of books about the brain, how it works, etc. and this is how I was introduced to mindfulness. Now, 14 months later the effects are so profound that I have hard time imagining what my mind looked like before. The biggest change I have noticed is the ability to not act on thoughts and easily let them go by accepting them. Things that used to trigger me before are just thoughts now: the thought comes, I notice it and it passes. The best word that comes to mind when trying to describe the feeling is ... grounded. I feel grounded, calm.
I know it sounds cliche, but now I realize that it's true that the moment you stop fighing your thoughts and urges, they lose their power. I remember reading things again and aain and could not wrap my head about this concept before.
- Does the anxiety go away? No, but my relationship with the anxiety and stress changed.
IMHO Self-reflection and emotional intelligence are the most important skills one can develop. Because if you develop them, you stop being in your own way and sabotaging yourself and it leads to generally happier life.
This is what I did i nthe last 14 months: - Lay down, close my eyes and observe the sensetion of breathing in my belly. - In the beginning my mind was immediately distracted with thoughts. It took me sometimes a few minutes until I was able to realize that I have been distracted all along. Then I had to force myself to ignore the distrating thought and pay attention to my breathing. It was really hard in the beginning and my sessions lasted usually 15 minutes max. - But as I got better it became easier...now I have no problems to let go of a thought ... even a very emotiaonally charged one. It's like I have a switch in my head.
I have recommended mindfulness to all my friends and relatives and virtually none of them have made more than a few sessions. That makes me sad, because I can see what effects it can have, but there's nothing more than recommending that I can do - it's really a personal commitment.
What does the cost of education have anything to do with here? The accessibility to higher education has everything to do with the capacity of the nation to innovate. And the cost is one of the main factors - it's one thing to have to pay like 500-600$ per year, another - thousands or tens of thousands.
Ever think those might be related? I never said that. But there are a lot of different possible scenarios here, where to put the higher tax burden - on the companies or on the employees. Check for example Denmark and Sweden as they follow different paths in that matter.
There are a lot of studies that measure not only the nation wide capacity to innovate, but all sorts of factors - political stability, business sophistications, etc. For example check the GCI: http://www3.weforum.org/docs/WEF_GlobalCompetitivenessReport...
This report covers the entire globe.
I'm not german, but I have lived around 8 years in Germany, I studied at a technical university there and worked at one of the Fraunhofer Institutes, which are mentioned in the article I have to say - they are definitely doing it right. I mean... just comparing how affordable universities are there. I am always amazed when I read stories about students in the US who graduate with $50.000 or more in debt. What I paid in Germany was around $300 per semester (for which I received also a travelling ticket for the entire transport system in the entire province... just the value of this ticket exceeds the $300) and that was about it. Later they introduced semester fees and I had to pay around 700$ per semester. And that was really high. I mean ... people were protesting and the province's government removed the fees. And it's really easy to find a part-time job in your field of studies in a high-tech cluster. In the case of my university the government spent like 2.5$ billion to extend the existing high-tech cluster so it can acommodate another 10.000 highly skilled researchers. This is all happeneing in a small city with 250k people. In areas like Stuttgart and Muenchen it's even crazier what they are doing.
The only thing I am not fond about Germany right now is the high taxes. But AFAIK the government are planning in reducing the tax burden on companies to keep the economy competative.
I don't know... is it easy to find a part time job in your field of studies in the US?