perjantai 30. kesäkuuta 2017

Don't mess with tab stops!

New, better, improved. Yeah, right. It seems it always is the same. Your user experience gets worse.

Say, this little thing here. You may know this is as "Google login" screen, which is now - after those new and exciting and great changes - they totally fucked up.


That red arrow was my addition to focus onto the primary problem. It's in Finnish, but it says, roughly, "Forgot your email address?".

And it's always next tab stop after entering your address. So I enter my address, hit tab once, then space to submit (expecting focus being on that "next" button like it should f****** be!) and then stare few seconds next completely unexpected screen trying to figure out what just happened, why I am not in password screen?

You know, this is user interface 101. "user name" next "password" next "you're in!". But no, they had to go and mess this very simple thing up by randomly adding that "you don't know what you are doing?" button there, in between.

Yeah, it isn't even there every time, just about half or one third or so of time, by my estimate so far.

Is this really the best UI you can think up these days, Google? Because I do have a few suggestions where you can shove these "improvements" ...






sunnuntai 25. kesäkuuta 2017

Electric motorcycle


In addition of the solar heater project I've been playing around with idea of DYI electric motorbike. Actually I've had this idea for long time now - maybe ten years - and it is possible (even likely) that I'll never get around doing it, due to component sourcing issues (mainly the battery pack), but planning is kinda fun nevertheless.

This would be strictly for nearby city cruising. Total driving time some 60 minutes or slightly more (at inner city speeds), top speed maybe 120km/h or so.

So first some research about required power. From some site I found out some information for scooters and power requirements there. It turns out that about 100km/h should be doable with just 10kW power. If I were to limit speeds above 80km/h to short duration only, even smaller engine would do - 8 or even 6 kW might be enough. This would not be fast bike, though, so maybe I should target about 10kW at first.

Then the battery voltage. I thought about 120v pack first, but currents required at high speeds (maximum power) would be uncomfortably high. But for now I go with that figure.

For the frame I was thinking about getting old Suzuki GS500 frame (which happened to be my first bike - light and nice to drive, although not great for longer cruises due to vibration caused by small-ish 2-cylinder engine), but those, too, tend to be "a bit" expensive here at the moment. But I keep that as a starting point yet.

Now, the engine. At first I was thinking about using permanent magnet DC motor for this, but it turns out that suitable motors are damn near impossible to get, at least in sane prices. So scrap that idea.
Then I read some more about 3-phase induction motors, and they seem like suitable alternative with proper control scheme. Naive control implementation will be horribly noisy (EMI-wise) but for a hobby project - and with loads of shielding - that might be okay. 120v Y (star)-connected motors are also available quite easily, although I will need to up the battery voltage for that; 120v AC is very different than 120v DC.

Then the battery pack. This turns out to be hardest part actually. Full, ready-made packs aren't really available, and if they are, they're too big or shaped so that they won't fit the bike frame. I would have to go for full DIY-pack, individual batteries, with all the protection, control and charging electronics included. While at this point I am fairly comfortable with high voltages involved, the charging and general safety is very different thing. And this, unfortunately, might be problem that will kill this project. Especially since things like zero motorcycles are already available, although the price is a bit high-ish; nearly 20k€ here ... But I suspect my DIY bike might easily be equally expensive, in the end, even if I weren't calculating price to work required.

But hey, even if this idea will never be realized, it's still fun to think about all the issues and solutions involved. And like always, some of the ideas will almost certainly carry on, to upcoming (possibly more profitable) projects.



lauantai 10. kesäkuuta 2017

Learning Ruby


Back when I started to think about server-side web programming (several years back, now), I thought of picking some nice, modern language to start with. My only previous experience was with Java, during early 2000s when I was still at university, and I wasn't too happy with it.

Ruby seemed to be hot topic (Python too, but I have severe allergic reaction to languages that want to force their way of thinking on me so I ignored that) so I started looking for some tutorials.

What I found:
"Now that you want to build a blog..." And this repeated many times over, in several variants. Granted this was ruby on rails - as an afterthough I guess that latter part somehow indicates that "there is only one way to do this, our way". Yeah, remember what I just said about language forcing their way just before this...

No. I already had a database schema at that point, I just needed to make a front-end for it. For some reason I just couldn't find anything useful that could help me get over this initial starting situation.

I am not happy with "hello, world" approach in learning. When I want to learn something, I usually have an existing problem I want to solve, and I'm giving new tool an option to do it, often learning something useful during the process. Anything that tries to go against this is just a nuisance and will be swept aside.

Of course, considering the level of my expertise in general this means that when I get there the problem I have is rated "pretty damn difficult" already, and web quite often offers very little help, often due to topic being fairly specialized. I end up doing most the learning myself anyway, from scraps and pieces of information littered around. C'est la vie or something like that.

Either way, in this specific case I went with PHP. Many people will hate me for this, but realistically, it was there, close enough to my existing path of thinking, and most importantly, not fighting me when I wanted to get things done. I'm not too happy with uncompiled, dynamic languages in general, but at this point it was the lesser evil.

Passive learning has its advantages too. By the time of this I had read a lot about web programming, just in more general sense. Most common pitfalls, like dangers of unverified and unsecured parameters and so on, so I was able to work around the most dangerous issues with just a few additional searches.

And I still have no idea on how to write any Ruby code. Ah well, maybe one day interesting problem will appear and I'll find some motivation for it.