Space disappearing on Mac
One day I noticed that the free space started to disappear on my macbook pro (and even deleting files did not free any byte), I had a difference in 100Gb between the commands `sudo du -shg /` (space used) and `df -h` (actually free available space). After hours of googling I’ve managed finally to fix the issue (found out that the space disappeared because my time machine worked in a wrong way ) doing the following
- Disabling time machine in System Preferences
- Using command line utility tmutil `tmutil thinlocalsnapshots / 1000000000 1` to shrink the space used by time machine
- Rebooting the mac into the save mode and staying there for about 5 minutes
Making that note just in case I have that problem again to spare the time but in hope that I do not need to use it anymore ( but probably it will help somebody else). I faced this time machine issue first time for 7 years of Macbook usage 😦
Extracting amenity tag info from OSM database in 3 simple steps
Posted by bykovme in admin, development, golang on October 25, 2017
Step 1. Download the needed OSM database in PBF format from here: planet.openstreetmap.org (be careful, it has huge size, many GBs)
Step 2. Install golang package for for decoding osm pdf files: github.com/qedus/osmpbf
Step 3. Use simple golang program below to decode whatever you need (let’s say you need to find all petrol stations)
Creating ubuntu service for go app
Posted by bykovme in admin, development, golang, tutorials on July 23, 2017
Step 1
Install go program with go install
in the app folder
Step 2
Download service script file from here: Service for go app
Step 3
Change {{USERNAME}}
in the script to the user you use in ubuntu to run your app and change {{APPNAME}}
to binary name in your $GOPATH/bin/
, if needed fix the path in cmd
variable to point to your own $GOPATH folder
Step 4
Rename the service remove ending ‘.sh’ and copy the service file in the folder /etc/init.d/
Step 5
Run in the terminal chmod 700 /etc/init.d/goappservice
Step 6
Run sudo update-rc.d goappservice defaults
Step 7
Run sudo update-rc.d goappservice enable
Done!
Use usual service commands to work with your new service.
sudo service goappservice start|stop|restart|status
If there is a new version of the app then just run go install
in the app folder and restart the service.
Enjoy
Sending mail using TLS with Go
Posted by bykovme in development, golang on April 17, 2017
As I did not find any example of go program which is sending UTF-8 mail with TLS, I decided to create my own go package with this functionality + example, find more details here: https://github.com/bykovme/tlsmail
Mail message can be sent this easy:
mail := tlsmail.TLSMail{ Host: "mail.your_favorite_hosting_provider.here", Port: "465", Sender: "noreply@mail_from.here", Password: "123456", TO: []string{"mail1@mail_to.here"}, Subject: subject, Body: body, } err := mail.Send() if err != nil { log.Println("Mail send failure: " + err.Error()) } else { log.Println("Mail sent successfully") }
Enjoy!
Fixing not working auto-completion for golang in Visual Studio Code
Posted by bykovme in admin, development, golang on February 2, 2017
My favorite code editor for GO (Visual Studio Code with Go extenstion from lukehoban) on my Mac sometimes loses its intelligent behavior when suddenly code completion stops to work.
Usually just couple of commands in terminal recovers auto-completion back to life:
- Close Visual Studio Code
- Open terminal and stop gocode with
gocode close
- Update gocode with the command `go get -u github.com/nsf/gocode`
- Start Visual Studio Code again and enjoy.
Configure Ubuntu to work as GO web server
Posted by bykovme in admin, development, golang on January 28, 2017
I’m often creating go apps or services using Digital Ocean droplets with Ubuntu, that’s why I decided to create a script to automate configuration process.
The script is doing following:
- Installs and configures firewall (ufw, allows only ports 80, 443 & 22)
- Installs git (required by go)
- Installs mysql and secures it with mysql_install_db
- Installs the latest version of GO (1.7.5), configures go environment (PATH, GOPATH)
- Installs go application from public git repository, yours or my demo (development for private is in progress) with ‘go get’
- Configures go app to work as a service (add config into /etc/init.d), starts the service
- Installs and configures nginx to work as proxy for go app
Script can be started directly from github:
bash <(curl -s https://raw.githubusercontent.com/bykovme/webgolangdo/master/preparegolangapp.sh)
Check the script and find more information here: https://github.com/bykovme/webgolangdo
Create ipa file for iPhone without signing to Apple (command line)
Posted by bykovme in admin, development on December 27, 2016
Exporting to ipa file from XCode requires to login to Apple before doing that while you can have already all signing prerequisites locally on your Mac.
You can avoid login if you run the command below from in terminal (you can find the the path to your archive by right clicking on it in XCode after archiving and “reveal in Finder”):
xcodebuild -exportArchive -archivePath "ArchiveName.xcarchive" -exportPath "ExportedIpaFileName" -exportFormat ipa -exportProvisioningProfile "YourProvisionProfile" ENABLE_BITCODE=YES