Got a request from a family member to add electric motor to a trekking bike. I decided to install Tongsheng TSDZ2 as it's the only one wildly available DIY kit, which has torque sensor. It results in more natural/smooth assistance, compared to pedelec approach. Mid-placed motor is also more suitable for this application, where efficiency and torque are more important than high speed. I chose 48V 500W version. Higher voltage means it has to draw less current to achive same level of power compared to 36V version. And less current means less heat. For battery pack I chose 740Wh capacity with Samsung 33g 3150mAh cells. #picture
Similar to avto.net crawler I wrote. This one is for real-estate ads. Github repository
It's 95% finished, so I guess it's about time to upload some pictures. Setup consists of: ~ Thrustmaster T300RS base with Momo 350mm racing wheel. Next stage would be upgrade to direct-drive. ~ Pedals from BMW e46 330i. For throttle position, internal hall is sensor used. Pedal actually has two of them (for safety in real car). For my hidraulic brake, I used Willwood master brake cylinder, brake caliper out of a 50ccm scooter, 1000psi pressure sensor, DOT4 brake fluid and some rubber in place of brake pads. For clutch, I made custom mechanism to get a desired 'bite effect' feeling, some tension springs and a potentiometer. ~ Hydraulic handbrake purchased preassembled. I added additional compression spring and fitted a 500psi pressure sensor. ~ Custom made H-patern shifter, described in previous post. ~ Seat is out of Peugeot 206 from junkyard. It's also height-adjustable. ~ I welded the bottom part of the rig construction from 3x3cm steel bars. Planning to use cold-bluing for final finish. Part of the rig is from aluminium profiles, as it's easier to adjust steering wheel. Also fitted a small caster wheels for easy relocation. ~ All sensors are connected to Arduino pro micro via GX connectors. PCB is packaged into neat plastic black box. I also added two additional buttons, since there were 2 unused pins left. #picture1 #picture2 #picture3 #picture4 #picture5 #picture6 #picture7
I made a H-patern shifter for sim-racing. Features: ~ 6 speeds + reverse ~ adjustable tension ~ sequential mode It's made out of polyamide and metal parts. Connects to PC via Arduino pro micro. #picture1 #picture2 #picture3 #picture4
Let's say you have a Raspberry Pi at home and want to be able to ssh into it from anywhere. In home environment (behind NAT/firewall and dynamic public IP) that means you have to set-up port forwarding on router and DDNS to handle IP changes.
But you can also do it differently. Serveo.net is a cool service that lets you create a reverse ssh tunnel from your respberry to serveo.net. Through this tunnel you can reach any local port you want. Additionaly you can bind it with your domain and use autossh for reliability in case connection drops for some reason.
$ cat /etc/systemd/system/autossh.service
[Unit]
Description=AutoSSH tunnel service
After=network-online.target
[Service]
Environment="AUTOSSH_GATETIME=0"
ExecStart=/usr/bin/autossh -M 0 -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -o ServerAliveCountMax=3 -NTR domain.com:22:localhost:22 serveo.net
[Install]
WantedBy=multi-user.target
$ systemctl start autossh && systemctl enable autossh
Then you are ready to acces Raspberry:$ ssh -J serveo.net [email protected]
To find used car in good condition is hard. Especially if you are looking for specific model/characteristics. Most of them are sold the same day ad is published. So instead of looking through the ads every day and loose a lot of time... I wrote web crawler/spider that checks avto.net for new ads every hour and sends me an email notification. It's written in scrapy (python) & available at Github.
Common situations in Git:
1. Forgot to add something to your last commit?
git add [stuff-you-forgot]
git commit --amend
2. Something went wrong and you want to revert files to some other (old) state.
git reset --hard [HEAD or hash or branch_name or tag]
3. Rebase between two local branches.
In simple terms, a git rebase master
from a feature branch, will unwind the local commits made on the feature branch, update the root of the feature branch with the commits pulled down from master, and then re-apply the local commits from the feature branch on top.
4. More people are working on remote feature branch.
git pull --rebase origin feature_branch
...fix conflicts
git push origin feature_branch
5. Temporarily save current (uncommited) work. Often, when you’ve been working on part of your project, things are in a messy state and you want to switch branches for a bit to work on something else. The problem is, you don’t want to do a commit of half-done work just so you can get back to this point later.
git stash (save)
...do other stuff, come back...
git stash pop
6. Help yourself with logs
git reflog
git log --oneline
A few 7950 & 280x cards. #picture
As this is still zero-day vulnerability, I am not disclosing any details yet.
I created multi-functional clock to have it on my nightstand. It's based on Arduino Uno, 16x2 LCD, DS3231 module with internal oscillator and DHT22 module. Showing me time, date, temperature and humidity. Additionaly I connected LED strip and 'touch switch'. #code #picture
Responsive website design forznam.si.
For my bachelor's thesis I implemented timestamping service, which uses two methods simultaneously, first PKI and second blockchain. You can read more here.
If you have a lot of projects and are experimenting all the time, you need 'testing lab'. I used spare PC with C2Q & 8GB of ram and turned it into VM hypervisor. Ubuntu server + KVM + libvirt.
At Graphics Design class at college, I designed a cool mouse pad in Illustrator. #picture
Some years ago I created a thiny program for myself. It's purpose is to remind me to take brakes & look away from monitor for a few minutes. It's written in C, code is available in my github repo.
\ No newline at end of file