HNHacker News
TopNewBestAskShowJobs

thomasikzelf

161 karma · joined July 2, 2020

Founder moos.app and interested in webgl, crdt, javascript, future programming languages and the web in general. https://thomaswelter.nl
submissionscomments
thomasikzelf··on Writing code is easy, reading it isn't
Writing simple code is also much harder then writing complicated code. If you write some complicated code at the limit of your mental capabilities you can not debug it, but you might also not be smart enough to write the simple code.

I guess this means that one should solve the appropriate problems for a given skill level

thomasikzelf··on Left to Right Programming
ReScript changed their api from data-last to data-first for this reason. Coupled with amazing type inference you will almost always receive correct autocompletions (that are type valid as well). It is a great experience.

It is sometimes still a problem when you define a function without reference to it (because the types are unnkown ofcourse). You will have to add types to it or call the function before implementing it.

There was also a great blogpost about it: https://www.javierchavarri.com/data-first-and-data-last-a-co...

thomasikzelf··on The language brain matters more for programming than the math brain? (2020)
Of course Brett Victor has the essay on his website: https://worrydream.com/refs/Lockhart_2002_-_A_Mathematician'...

It is a great read!

thomasikzelf··on I sent an Ethernet packet
I used the W5100 before with Arduino but I am not sure about "gold standard" quality. I had a lot of issues with random disconnects several times a day with this board. Maybe it's the board, or maybe it's the arduino code or the connection. Or maybe it was my code. I don't know. Eventually I switched to a pi and never had any connection problems anymore.

When it comes to tcp connections linux seems more robust.

thomasikzelf··on Ask HN: Resources for Learning Graphics Programming
I really liked https://webglfundamentals.org/ for learning the webgl api coming from a web background as well. The state diagram was also useful to understand the complicated api. There is also https://webgpufundamentals.org/ for the newer api.
thomasikzelf··on Wideboard: Render _all_ of Linux's source code in a browser tab via WebGL
cool demo. I loaded my own codebase to look around in it. I could really see this being added to an IDE to get an overview of a code base (and it also looks good).

It reminds me of the following demo: https://wdobbie.com/pdf/ from this post: https://wdobbie.com/post/gpu-text-rendering-with-vector-text...

Some tips for others (when trying with your own repo): - you need to rename any index.html files and clear the browser cache otherwise it skips that folder - change the value at wb-librarian.js:98 (this.screenCursorY) to a value that better matches the size of your code base

thomasikzelf··on Virtual DOM is pure overhead (2018)
Document fragments are like transactions for the DOM. Alternatively you could just learn which Dom operations force a layout shift and batch those.
thomasikzelf··on Virtual DOM is pure overhead (2018)
Let's call it vdata. Data diffing instead of DOM diffing.
thomasikzelf··on Ask HN: Share your personal site
This is my interactive digital resumé website. https://thomaswelter.nl
thomasikzelf··on Treefrog: A code editor that uses both AST and text editing commands
> can you move into an if/while if it's not already selected?

Sorry I meant the condition of while, for and if.

> hmm, that's working for me, does anything at all happen when you drop it?

Now that I try it again it seems to be working. Before it would just drop the line bellow or above the "+ if".

thomasikzelf··on Crypto: The Good, the Bad and the Ugly
Interesting blog! Bank transfers using the same bank are free here. Even the most used payment method used here in the Netherlands is pretty cheap (Ideal). But the question is if this can be scaled to a global scale. A lot of parties have to come to an agreement for that to happen.

It can also come in the form of something like paypal. Paypal could reduce their rates to almost zero. If everybody then uses paypal we achieved our goal. But for that to happen paypal needs to become a monopoly, and once it is it has no incentive for low prices.

Note: I meant privacy as in private for consumers. With bitcoin everybody can see all transactions. I (and most people) don't really care that the government can see your transactions for tax and anti-fraud purposes.

thomasikzelf··on Treefrog: A code editor that uses both AST and text editing commands
Some feedback on the actual implementation:

- I cannot reach inside if and while statements using tree mode

- It is not clear which lines are available for refactorings

- dragging a line reveals "+ If" and "+ else if" under an if statement. Dropping the line onto it does not work.

- tree based moving does not move the viewport

About the business side of it:

I think it will be hard to create a whole editor just for these features. I know that Jetbrains editors also have ast aware refactorings and I often use moveBySymbol in sublime text which acts a lot like your tree navigation. I think it makes more sense to create this as a plugin, but it will be difficult to monetize that.

Anyway I applaud you for creating something that actually works!

thomasikzelf··on Crypto: The Good, the Bad and the Ugly
Yes and of course regular online payments such as visa or ideal (cheap payments in the Netherlands) also solve that. Global payments and handling taxes could still be cheaper and easier though. I see crypto having a small chance of succeeding in doing this. This small chance of succeeding is a reason for me not to invest in it right now, but I don't think it is impossible.
thomasikzelf··on Crypto: The Good, the Bad and the Ugly
> Unless they can do it for roughly half the cost of what we have now, it doesn't have a lot of practical value. And there's nothing stopping Visa from implementing something similar.

I agree with this. And that is probably what will happen, but that wouldn't be a bad outcome. See it as one way to break a chain of middle man's.

Another (more likely) way to push down prices is with regulation. But to do this on a global scale is also very difficult.

thomasikzelf··on Crypto: The Good, the Bad and the Ugly
I Agree that the situation in Europe is not too bad. Still I can see a situation where some cryptocurrency pushes transaction prices down for regular payments (maybe without handling fraud, because it is a smaller problem with smaller transactions?).

But none of the cryptocurrencies are there yet, and maybe it will never happen.

thomasikzelf··on Crypto: The Good, the Bad and the Ugly
Crypto needs to solve a problem. I think cryptocurrencies should focus on making a cheap currency that people can actually use.

  requirements:
  - low transaction costs
  - low volatility
  - many places where you can pay with it
  - secure
  - privacy
  - no tax problems
  - fast transactions
  - handle fraud
  - scalable
If a crypto currency can solve above points by cutting out the middle man and making transactions virtually free instead of paying 1.29% + 0.25c per transaction that would be huge.

But that is a big if. Bitcoin fails at almost all of the above points. The only coin that comes close is Nano (I've got no investment in it). They solve fast, secure, scalable and cheap transactions, which I think are the main problems right now. Read their whitepaper, it is interesting. Whether they can solve the other problems remains to be seen.

thomasikzelf··on Treefrog: A code editor that uses both AST and text editing commands
I think you need to scale your canvas by window.devicePixelRatio for higher density screens.

Anyway I am receiving an error on page load: Uncaught TypeError: Cannot read properties of undefined (reading 'watch') under platform.jsonStore.watch

thomasikzelf··on Internet Archive as a default host-of-record for startups
It is interesting though, what happens if you put so much data into a blockchain. I guess only a couple of nodes would want to verify the validity of the chain (because you need all the data to do it). And would those nodes really be more likely to keep the data then the situation we are in now?

I guess after some time the nodes would agree on the hash and throw away the data because it would cost too much to store.

thomasikzelf··on Lottie – Use after effects animations in web and native apps
This is a shortcoming of many flash like tools that export to the web (such as unity or adobe animate). I am trying to solve this with https://moos.app It automatically works on all screen dimensions but is not as powerful as flash (yet).
thomasikzelf··on Lottie – Use after effects animations in web and native apps
You can find a bunch of examples here: https://lottiefiles.com/featured
thomasikzelf··on Show HN: Moos.app – Interactive animated experiences for the web
Thank you for your message :-). Can you tell me in which ways you think Hype is more mature?

My app does not currently allow importing JSON, that is something on the roadmap. It does however allow you to send values to your project dynamically if you embed it on a web page. This way you can drive it with javascript.

If you would want to recreate the example from my website in Hype would you need to know code or do you use some kind of plugin?

thomasikzelf··on Show HN: Moos.app – Interactive animated experiences for the web
Yeah you are right, there is no perfect alignment. I also agree that the usage based pricing from AWS is different from my hourly pricing (hourly being a subset of usage based).

I've never seen hourly based pricing being used for tools before. But hourly based pricing is common for human services and also for things such as AWS Lambda or VPS's. You could make an argument for AWS having an incentive for slow running lambda's.

In these cases you can test if the speed of AWS lambda is good enough for you. Similarly you can try out my app (for free) to see if it's slow or fast, and you can see this directly instead of having to rely on AWS's logs.

Anyway thank you for your feedback. It's really valuable for me to read these responses!

thomasikzelf··on Show HN: Moos.app – Interactive animated experiences for the web
you're right it's.... special. Let me give you my thought process:

  - One time pricing can be a real hurdle for users to pay upfront. Remember adobe costing a lot of money up front. The upside is that after this initial huge hurdle your free to use the product. For the business non recurring revenue means they need to batch changes to make buying the product worth while. This results in a long cycle between updates.

  - Subscription pricing aligns the business with it's users. Users pay only for what they use and the business can ship features to the user as fast as possible.

  - The downside is the subscription is often 'per user' and is done on an ongoing basis. You pay for the tool even if you don't use it.

  - Usage based pricing: you only pay for what you use in the smallest quantity that is understandable. This is what I use and what AWS uses for example. I think this is a really fair pricing model. If you're only doing one project it might cost you 3 bucks, but if you are a company that uses the tool fulltime you pay accordingly.
It might turn out that too many people are turned off by this pricing, I don't know. It is easier to change to a regular pricing model then to a weird one :-).

If you open one of the examples that is one project. Your project can be published at one unique URL.

thomasikzelf··on Show HN: Moos.app – Interactive animated experiences for the web
Yes a previous version was built on canvas2D. For simple things such as a couple of objects moving across the screen it works great. As soon as you start to do fullscreen "camera" movements performance starts to suffer. All images and paths need to be uploaded to the gpu every frame. Maybe the browser optimizes some things but in my tests it was not enough.

The WEBGL renderer in this project is built from scratch because none were available that support SVG and were small enough for regular web pages. It allows me to upload paths and images to the gpu making fullscreen animations a lot more smooth.

thomasikzelf··on Show HN: Moos.app – Interactive animated experiences for the web
This is actually a great example. Wick editor is an awesome tool but it needs a lot of work to become the go-to tool for creators. You can see that the Patreon now pulls in 147 euro p/m, not enough to sustain someone working on it.

It's a (awesome) niche tool and to become mainstream (for designers) it needs more features, but there needs to be money to built those. A catch 22.

thomasikzelf··on Show HN: Moos.app – Interactive animated experiences for the web
Thank you both for the feedback, I appreciate it. If you want to see what is shown in the screenshot you can go to https://playground.moos.app/#!example-skada
thomasikzelf··on Show HN: Moos.app – Interactive animated experiences for the web
I never used it. It looks like people mainly used it for animations, I am not sure what kind of interactivity it allowed. It seems that the program didn't support actionscript.

If somebody wants to do animation and then export it to a video then tools like adobe animate and adobe after effects are still better options, although cavalry[0] looks really cool as well.

These do not really have the interactivity that moos.app gives you though.

[0]: https://cavalry.scenegroup.co/

thomasikzelf··on Show HN: Moos.app – Interactive animated experiences for the web
I never used tumult but I think these are the differences:

  - Moos.app has built-in "behaviors" that are sort of a template for interactions. For example the scroller behavior allows you to put text next to your visuals, when the user then scrolls your visuals will update. It also works on mobile and desktop without additional actions.
  - I found that using SVG or HTML for complex animations is way to slow. That's why moos.app uses a custom WEBGL renderer.
  - Moos.app works in the browser, Tumult is a mac app
  - As Tumult is older it has a bigger community
  - Tumult has no web hosting build in (I think). With moos.app you click a button and you get a link (or a self contained HTML file)
  - Tumult is a one time payment while moos.app is usage-based-pay
thomasikzelf··on Show HN: Moos.app – Interactive animated experiences for the web
Flash also took interactivity to the next level back in it's day. There is still adobe animate (which is the flash editor) but it does not adapt to screen sizes and you quickly need to drop down into code. I'm hoping to build a tool that can match flash in creativity with less of a learning curve, so that non programmers can use it too.

Building all of this is a lot of work (and this is only the beginning). I think open-source is not a viable way of building this right now. Development will stall before a critical mass of features allows wider adoption.

thomasikzelf··on Show HN: Moos.app – Interactive animated experiences for the web
Thanks for the heads up. I test on browser stack and it seems to be working there. The videos are AVIF or MP4 and there are definitively problems with AVIF implementations. For example in Edge AVIF would not play but it would also not fallback to MP4.

If more people have problems I will have to fallback to just MP4. It is a shame though, the AVIF files are a lot smaller.

← PreviousPage 2 of 3Next →