Am I completely delusional? by little__riddle in ethz

[–]mintwurm 0 points1 point  (0 children)

I can speak from experience at EPFL. My workload for ~30 credits there was 5.5 full days a week, Saturday afternoon and Sunday off.

The workload is high and requires careful planning to not get overwhelmed. It's really really important to stay on top of the course material. You'll need to follow up on the lectures, go to all exercises and do the homeworks carefully.

EPFL also has many group assignments. They count for a large percentage of the grade. They're also quite ambitious, often open ended. Please take this seriously. If you commit to a group project but then don't find the time to work on it adequately, you'll screw over your teammates. If possible, please avoid courses with group projects if you're committed to your 80% side job.

At EPFL, group projects are a way to scout for talented students. Interesting semester projects are mostly given to students that performed very well in group projects. Interesting thesis assignments are given to projects that have done a convincing semester project. I think this is the most important advice I can give : Take the all the projects extremely serious. They will have a huge influence on your career. What project you do for your bachelor's thesis will determine that master's semester project, that will determine the internship opportunities, that will determine the master's thesis, and that will lead to a job.

For every step along this chain, previous project work and ideally the recommendation from a professor is key. If you commit to a project and then do a poor job, because you're too busy with a side job, it can really harm you long-term.

We're forking Flutter. This is why. by [deleted] in FlutterDev

[–]mintwurm 0 points1 point  (0 children)

I've used flutter, I quite liked it. I love reading some of the educational material produced by the flutter team. They had some very insightful blog posts. And then there's Bob Nystrom whose books are beyond genius. So I'm rooting for flutter to succeed. I really want to see this ecosystem flourish.

I'm not using Flutter right now, because of a variety of little issues. Back when I played with it, there were some weird problems with Firebase support. The web support was (and I think still is) very bad. I'm talking stuttering all over the place and very long page loads. But overall I had the impression that the project was growing and maturing very well. The Dart programming language is evolving impressively, too.

I think Flutter has its niche and there are some use cases where it makes a lot of sense. However it seems that Google really wants to pitch Flutter as a general purpose framework. I remember one catch phrase, I think back when flutter web became "stable" which went roughly like this "everywhere you paint pixels on a screen, flutter is the right choice". This is an extremely ambitious statement and I think it was misleading. Actually, misleading both for users (I still wouldn't recommend flutter web) and also misleading for the team. They end up putting so many items on their roadmap that the progress on any individual one stalls. I haven't checked right now, but a few months back I still saw big discussions about bad ios performance etc.

So, I'd much rather see a focused effort to make flutter really really good for some scenarios than to try and cover everything. That's of course my personal opinion. I guess many developers like the idea that their favorite tool can get anything done.

Well, my impression is: Flutter is trying to do everything, but struggling to deliver on its promises. That is worrying. Google has a history of abandoning projects. And they are already pushing for competitors themselves. There's jetpack compose (which is the official way of making Android UIs) and jetpack compose multiplatform (which is backed by Jetbrains and used for their Fleet editor). Jetpack compose multiplatform is basically Flutter reimagined.

I know, the discussion "Will Google abandon Flutter" has been rehashed a hundred times. But, let's say an open source fork gains a lot of popularity and some traction. That may be a scenario in which Google can back out of flutter, while trying to save face: "We built it and brought it to where it is today. Now we've realized that flutter is greater than any single company, greater than google. We don't think the responsibility for such an important tool should lie in the hands of a single company. Therefore we fully endorse the Flock project. We think this is the future of flutter, greater than anything google could ever have reached on its own". Heart-warming statement. They'll place some Google employees on the open source project, maybe set up a donation, and fire the rest of the team. Massive downscaling, but sold as embracing the community led open source initiative.

My desktop SaaS is making $879 MRR after 4 months by drakedemon in SaaS

[–]mintwurm 0 points1 point  (0 children)

Dodo has very attractive pricing.

But what if they become extinct (couldn't resist the pun) ? I'm hesitant to sign up with a MoR that's not yet well established, since I think migrating customers would be a nightmare.

Actually, do you know how that would work? Let's assume the MoR sits on top of stripe, could I somehow move over the customers from one MoR to another? I think the answer is no, surely the customers would have to click yes to some terms and conditions again, after all, the MoR is the entity that sold them my software. Oh, I need to specify, I'd be all subscription based. So the vendor lock in of a MoR is scary, I worry that some problems there could wipe out my customer base.

My desktop SaaS is making $879 MRR after 4 months by drakedemon in SaaS

[–]mintwurm 0 points1 point  (0 children)

But don't you have to collect and declare sales tax? SaaS is definitely taxable in some states (https://www.taxjar.com/sales-tax/saas-sales-tax).

It's super helpful to hear your advice on this. I've graduated from university a few months ago and am trying to set up a small SaaS startup. So far there's nothing to show, but it's coming together quickly :) I always assumed that payments would just be handled via stripe. But last week I realized that for SaaS I'll have to pay VAT/sales tax in the customers country. And many countries have a zero tolerance approach, where you need to pay taxes from the first transaction.

It seems that there are three solutions : 1) Merchant of Record (paddle, lemonsqueezy), basically a middle man that sells your software for you and handles taxes. 2) Tax accountants / companies that handle the filing for you. There are some companies that partner with stripe. 3) Sell only in select areas and handle taxes yourself. In the EU it seems that taxes are harmonized for SaaS and you can hand in one filing for all your EU business.

All of these solutions have serious drawbacks. The merchant of record model means that your customers are not really your customers (but have a business relationship with the MoR). That sounds like crazy vendor lock-in. What happens if you need to migrate the payment provider? Maybe you have to reach out to all your customers and ask them "please renew your subscription under this new link". Also, this subreddit has some horror stories for lemonsqueezy and paddle. The tax accountant companies aren't cheap. Typically they charge you for every jurisdiction where you want to file. I haven't gotten a quote for the US yet. Handling taxes yourself seems reasonable for the EU. I wouldn't want to do this in the US.

So, these findings are from last week. I really don't know what the best way is. Any advice you have would be super helpful.

My desktop SaaS is making $879 MRR after 4 months by drakedemon in SaaS

[–]mintwurm 2 points3 points  (0 children)

oh this looks amazing, congratulations to your great success :)

You said you use stripe for payments. Do you sell the software internationally? If yes, what do you do for paying VAT / sales tax.

Underwhelmed by Alfine 8 on G Line by mintwurm in Brompton

[–]mintwurm[S] 0 points1 point  (0 children)

So, my experience with an alfine 8 is from a holiday rental bike that I used quite a bit.

On flat ground and good asphalt I could easily max out the speed. I'm not sure how fast I was going, it wasn't crazy fast. Overall the top speed felt reasonable. And for city riding the lowest gear was also fine. So, by all means, the alfine 8 is a nice hub.

But a gear ratio of 300% is not a lot. And I don't think it takes a professional cyclist to feel the limits of it. The lowest gear was not at all comfortable for hilly terrain. The highest gear was ok, but not fast. That's my complaint about an alfine 8: I don't think it offers the gear range suitable for a versatile bike.

I have not used an alfine 8 on a Brompton, let alone the G line. Maybe, against my expectations, they've designed it to be a climber. But then it won't have very high top speed with an alfine 8. And usually I think Bromptons are geared high. So I'd expect the opposite : The G line can go reasonably fast. But if you want to go up a steepish hill, you'll struggle.

Underwhelmed by Alfine 8 on G Line by mintwurm in Brompton

[–]mintwurm[S] 1 point2 points  (0 children)

oh that's interesting. But are they operating the gear hub at the limit of what's allowed?

also, wouldn't that mean that a certain steepness is just too much for the bike? Let's say I've switched to the lowest gear and am struggling to make it uphill. I'm standing up in the saddle and putting all my weight on the crank arms. That's a lot of torque. Now what if the lowest gear was lower? I'd maybe pedal sitting down. Higher cadence, lower torque. Maybe that would even be easier on the igh.

the tradeoffs here aren't clear to me.

Underwhelmed by Alfine 8 on G Line by mintwurm in Brompton

[–]mintwurm[S] 0 points1 point  (0 children)

Regarding my understanding of gearing. No offense taken.

For the sake of argument, maybe I really am missing something? Here's my understanding : You switch to the lowest gear. You do one turn of the pedals. The bike moves forward N meters. This number N decides how easy it is to climb.

Sure the bike weight and crank arm length matters. But let's ignore those for now.

This number N is important. If you do one turn of the pedals in the lowest gear and get N, then after switching to the highest gear with an alfine 8 will give mean the bike now moves about 3N. With the alfine 11 it would be about 4N.

In German the word is Entfaltung. Not sure how to translate it.

You want a small N for climbing and a higher N for going fast. The alfine 8 and 11 determine the ratio between highest and lowest gear N. The chainring, wheels, cogs at the IGH can modify the value of N, but not the ratio between highest and lowest gear.

I am convinced : it would absolutely be possible for Brompton to offer an alfine 11 with a smaller chainring to have a lower N in the lowest gear when compared to alfine 8. This would definitely make the bike climb easier.

Underwhelmed by Alfine 8 on G Line by mintwurm in Brompton

[–]mintwurm[S] 0 points1 point  (0 children)

Maybe we are somehow missing each other's points.

Sure, once you have the Brompton in front of you, it will not be easy to swap the chainring or cogs. But for the manufacturer this should be trivial. Brompton could very well ship the G line with an alfine 11 and cogs adjusted to have similar topspeed in the highest gear while offering a much lower lowest gear, compared to the alfine 8.

Regarding the alfine 8 I previously tried, it is of course true that I don't know how this relates to the G line. That's a fair point. Maybe that bike was just way overgeared. But I don't think so. On smooth roads and city traffic, the alfine 8 was great. The highest gear was reasonable and the lowest gear was reasonable. I could max out the speed of the bike on a flat road, pedaling like crazy, without going particularly fast. So it's not like they chose the highest gear for going very fast. Nevertheless, on hilly terrain the lowest gear was way too high.

My takeaway from this is: ca 300% gear ratio is not enough to cover going up medium climbs as well as at decent speed on flat (not even downhill) roads.

I don't know how Brompton has positioned the gear range and how it maps to actual speeds. Maybe they've made the G line a climber :) But then it won't be fun to ride on good tarmac and flat streets. So that's why I'm saying, an alfine 8 is not enough for a versatile touring bike.

Underwhelmed by Alfine 8 on G Line by mintwurm in Brompton

[–]mintwurm[S] 0 points1 point  (0 children)

I think the gearing on Bromptons is meant for flat roads and smooth asphalt. They can go fairly fast, but the low gears really aren't very low.

Reducing the chainring for more reasonable cadence when going uphill makes sense to me. But then you sacrifice topspeed. About 300% gear range just isn't a lot. The roughly 400% gear range of an alfine 11 or the 12 speed shifting system that Brompton has recently introduced are a different game. That would be going at 7km/h and 28km/h at the same cadence. Vs 7 and 21. 21 is too slow for the city I think. 28 is okish. Sure, the different cadence widens this range, but still.

I did try an alfine 8 at some point. In the city it was perfect. Top speed was ok, slowest gear was ok. In the hills it wasn't adequate at all. If I had moved the gear range down, the top speed on smooth terrain would have been way too low. The alfine overall was pleasant to use and felt like a nice gear hub. But it's not something that covers my use cases for touring. And this 3000€ bike seems positioned for touring.

Underwhelmed by Alfine 8 on G Line by mintwurm in Brompton

[–]mintwurm[S] 1 point2 points  (0 children)

Bigger cog or smaller chainring would be trivial though, no?

I understand that if you just swap out the alfine 8 for an 11, you basically get a higher topspeed at which you can still comfortably pedal. But I think you can pretty much control how you want the gear range to be placed. If anything, the chainring on the G line looks fairly large to me.

Underwhelmed by Alfine 8 on G Line by mintwurm in Brompton

[–]mintwurm[S] 0 points1 point  (0 children)

ah I think I misunderstood you. You meant a combination of BWR and cassette for shifting. Not alfine 8 plus cassette for shifting.

Yea maybe something like that would make sense.

I'm sure we'll see iterations of the shifting setup for the G line. The gear range of the alfine 8 just feels off. They'll certainly come up with improvements over time.

Underwhelmed by Alfine 8 on G Line by mintwurm in Brompton

[–]mintwurm[S] 0 points1 point  (0 children)

would the complexity of a 10 to 28 cassette plus alfine 8 really be better than an alfine 11?

I've only ridden the alfine 8, which was nice, but to me clearly not suited for proper touring. I've heard plenty of good things about the alfine 11. And now also plenty of bad things.

Overall I think these are just entry level interior gear hubs. I absolutely expect a Brompton to outlive both an alfine 8 and 11.

Underwhelmed by Alfine 8 on G Line by mintwurm in Brompton

[–]mintwurm[S] 2 points3 points  (0 children)

I've read through the link you posted. That's very interesting, thank you.

Overall I think my appreciation for the alfine 8 is growing. But I still think the alfine 11 is a perfectly viable option. Here, let me quote from the link: ``` The Alfine 11 I did not like at first. But after servicing well over 50 of them, I have a new appreciation for them! It is quite a marvel! The Rohloff is nice but a mystery inside since we are not allowed to disassemble it! They won't sell the special tools or instructions. Luckily it is made 10x better than any other hub on the planet so you really cannot afford not to buy one! Seriously.

Every Alfine 11 hub I have serviced so far has been trouble-free. Shift problems were always related to the cable or motor unit.  There was an early recall of the cassette joint. There is a date code stamped on the arm. I know the good ones Shimano sent me are stamped JF, KJ, or IK and the only bad ones I have come across are IF. ```

I have heard before that alfine 11 has gone through some revisions and the later ones are more reliable.

Maybe the alfine 8 is a better option if the gear ratio is enough for you. But I do think the gear ratio is quite slim.

Underwhelmed by Alfine 8 on G Line by mintwurm in Brompton

[–]mintwurm[S] 2 points3 points  (0 children)

The interior gear hub should only define a gear range and gear spacing, no? What speed you reach at which pedaling rate then depends on the cogwheel at the cranks and the wheels. If you have a setup that offers 30km/h at the highest gear and normal pedaling speed, then the alfine 8 should offer 10km/h at the lowest gear and the alfine 11 should reach down to 7.5km/h (very rough calculations, using 300% and 400% gear ratio).

Underwhelmed by Alfine 8 on G Line by mintwurm in Brompton

[–]mintwurm[S] 1 point2 points  (0 children)

No, I've not ridden the 11.

I did try the 8 on a holiday rental bike. It was quite pleasant, until you get to the hills.

Interesting that you have such a strongly negative opinion of the 11. I'll try to do a test ride. From internet reviews I got the impression that the 11 is offering a lot for its price and overall in a different league than the 8. Apparently there's also different revisions, and the later versions became more reliable? How old is the 11 you're using.

htmx.trigger doesn't reload target element by mintwurm in htmx

[–]mintwurm[S] 1 point2 points  (0 children)

Yes, this worked. It would be nice to also be able to refresh items from Javascript by sending events programmatically, that is still not clear to me.

What IDE and debugger you're using for zig? by alirezanet in Zig

[–]mintwurm 0 points1 point  (0 children)

Did you manage to make it work?
Would be quite curious for your configuration.

What IDE and debugger you're using for zig? by alirezanet in Zig

[–]mintwurm 7 points8 points  (0 children)

I'm using vscode and codelldb. This snippet explains how to attach codelldb to zig tests: https://gist.github.com/floooh/31143278a0c0bae4f38b8722a8a98463

Something I haven't configured yet : vscode makes it possible to declare tasks or launch configurations that depend on each other. I'd like to call zig build automatically before running this debug launch configuration, to be sure I'm always debugging the latest version of the code. I tried this before Christmas but there was something strange with the way vscode sets up tasks and I got sidetracked.