I am helping one customer with their VPS and they use primarily Google Drive for data management. So the idea poped up in my head…
What if I could grab some files from the VPS server and push them straight into their G-Drive?
This could provide an opportunity for backing up required data from VPS but also push certain data back into VPS without a need for FTP. Hmm…
As an example: you could upload product images for the online shop, where user simply drops them into Google Drive and the rest of the work gets automated on the server with CRON and custom scripts. Same can be done for updating stock via XML files and more.
In this article, I will focus on getting the integration working and leave the rest for your imagination. However, if you would want to know more about the automation part on the server, have even better idea, just leave me a message on LinkedIn or e-mail me. Now let us dive into it.
Although my personal preference is Ubuntu, I decided to play with Debian on my local PC to test the Google Drive integration. I used Hyper-V and Debian-10.1.0-i386-netinst.ISO. My laptop specs: T440, 256GB SSD, 12GB RAM.
First problem, ISO is not booting – getting PXE Boot issue = I create new VM with GEN1 and we are ready to go. Here are more tips on how to run Linux on HyperV.
Second problem, screen size/resolution of the VM. Hyper-V does not control this, instead the VM is in charge. Everyone probably knows how to change the resolution in Windows 10/7 using GUI, but since I have Debian with no GUI, CLI will become my friend for today. So for Debian, you need to edit grub file like this:
sudo vi /etc/default/grub
In particular, this line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1024x768"
I am using laptop T440, so 768px vertical is just ok. If you have to update the grub, reboot and off you go.
Note: If you are not familiar with VI editor (I use usually VIM), just follow the manual – VI basics.
Third “problem”, quite annoying with Linux and HyperV is missing copy / paste feature. You certainly do not want to type all stuff and links manually. Forget about Hyper-V VMConnect then and connect to your VM via SSH (use Putty for example). That way you can copy paste, no drama. There are other options, but this one is by far the easiest, I reckon.
To connect, you will need its IP address, so use a bridge mode (external switch). This will expose the VM to the internet too, so keep that in mind and put ideally a firewall in between. To connect:
Fourth “problem”, you cannot connect. By default root has remote ssh turned off. To turn it on: connect as per usual using VMConnect, open:
Remove # symbol from the line below and change to “yes”, like this:
Don’t forget to restart the SSH:
Ok. We are ready for the next step.
Unfortunately, there is no offical Google Drive app for Linux. So, we will be using drive originally developed by Burcu Dogan, now maintained by Emmanuel T Odeke. It should do the basics. As usual, there are some pre-requisites.
Drive is using GO, an open-source programming language, so we have to install it first.
To download GO, visti the official site and chose the right distribution for you and download it from your VM using wget:
Then install/extract the package as per below (using the correct file name):
tar -C /usr/local -xzf go1.13.3.linux-amd64.tar.gz
Add /usr/local/go/bin to the
PATH environment variable, by editing /etc/profile (system wide) with:
Test it by running creating and building hello app.
Note: if you cannot execute “go build” for your hello.go file, see if you downloaded the correct distro of GO.
First thing, however, we need to update the export PATHs for .bashrc. This is one way of doing it:
cat << ! >> ~/.bashrc > export GOPATH=\$HOME/gopath > export PATH=\$GOPATH:\$GOPATH/bin:\$PATH > ! source ~/.bashrc # To reload the settings and get the newly set ones # Or open a fresh terminal
Then download the DRIVE, I used this option:
go get -u github.com/odeke-em/drive/drive
Problem? missing get? Install it first.
Try to get the DRIVE again:
go get -u github.com/odeke-em/drive/cmd/drive
In my case, this just got stuck, so I went for the other option:
go get -u github.com/odeke-em/drive/drive-google
Which also failed but at least told me that I have ggc missing. You could install it separately, but I used the bundle package to same me some time with other potential dependencies (not suggested in production!):
apt-get install build-essential
Re-try the Drive install again:
go get -u github.com/odeke-em/drive/drive-google
BINGO. You can check it by running its command:
If you expect you click and authorise, then I will dissapoint you. You will have use GCP (Google Cloud Platform), create project, security account, keys, delegate access to G-Drive, download and push json file onto VM. Handy hint: using OAuth and service account;).
So once you have the GCP part done and ready, run the following (update the location of your json file):
drive init --service-account-file <gsa_json_file_path> ~/gdrive cd ~/gdrive
There should be hiddne folder called “.gd” (find by “ls -a”) and within should be a file called credentials.json.
Open and edit this file again with our VI:
Find and edit the Subject=”” with an e-mail address whose Google Drive you wish to use. For example: Subject=”email@example.com”.
Important: if you skipped this steps, the actual projects’ Google Drive will be used instead, meaning none of your actual data will be displayed. It uses the service account’s drive by default. This might be handy for other automation and deployments but not when I want to see my files!
The best is to check the manual first, by typing:
The handy commands are:
list, about, push, pull
Combine this solution with custom scripts to move/copy files around using CRON and you have a nice integration betwen Google Drive and your Debian / VPS. Also, be aware of the GCP requests limits, otherwise your integration might not work that well if you reach them.
Although, not a straightforward solution, but as you can see – it is do-able and fun to play with. Keep in mind however, that if you provide this solution to a third part, you need to maintain it and keep it functional (consider updates, security, etc). I see a fit for this, where a custom solutions are required, but would rather opt-out for CMS-plugins or host-provider’s paid service to facilitate for example a backup solution. If you have ideas to share or discuss with me, please get in touch with me on LinkedIn or contact me.
When it comes to newsletters, the first word I hear is MailChimp. It is quite powerfull application that helps you to manage e-mail marketing effectively.
There are other alternatives like Aweber, Constant Contact, Drip, GetResponse, Benchmark, SendinBlue, iContact and many more. None of them, however, are customised specifically for the Czech market. Unless your team speaks and operates in English, you might have to look into a Czech solution instead. So are there any?
Yes, however, the e-mail marketing in Czech still seems to be in early stage and the market is not flooded with many solutions. One of the project supporting the growth is Mailing 2020, yearly conference since 2016. If you are super serious about e-mail marketing, I suggest you look through the list of speakers and follow their works.
In terms of market share (only percieved value), there are two major players: Ecomail and SmartMailing. Other solutions exists too such as Mailkit (CZ) and then Sendy (using AWS SES, EN), Mautic (EN) which require a bit more work to set up. You can find some tutorials in Czech for Sendy/Mautic from Petr Novák. It seems that newsletters (“odběr novinek”) is a tools used in Czech by rather medium or large businesses, but with expansion of those tools, small businesses are or will be catching up shortly.
I had an opportunity to assist a small business in Czech with their e-mail marketing strategy refresh. I was shocked how cumbersome some processes were and lacked any automation. These include: e-mail addresses managed and stored in Word documents, duplicated data, out-dated design, no reports or visibility over the past campaigns, manual subscription management and more.
Afterter reviewing the setup, I looked into the market for a system that would bring more efficiency and transparency. The first choice would have been MailChimp, but due to the language barrier of the customer, this was not an option. Ecomail and SmartMailling looked promissing and ticked the language box. Based on the needs of business, the Ecomail was chosen. It provided simple interface with template editor, easy contacts manager, lower pricing and had good reviews. Due to the nature of business and its irregularity when it comes to contacting potential customers, I suggested to use the credit system rather than subscription model. The customer support was excelent, though the documentation could cover more content to start with.
Along the way, there were some surprises in regards to GDPR and how the newsletters supposed to be used without violation of law. Any contacts loaded to the system have to be already subscribed to your newsletter, which means you have to use other channels to faciliate the subscription process. Very common solution is to get the subscribers from your website, but what if you collected (legally) hundreds of contacts you wish to approach? You have to contact them somehow in order to gain their permission for receiving your offers. Individual call, e-mail, letter, IM message is the correct way but not necesarily efficient. How would you automate it? Leave me a message on LinkedIn or e-mail.
So, to set up the system properly is one thing, but to teach the customer how to use it is another. I would suggest to create visual workflow, which customer can come back to (screen recordings). Also, Ecomail has automation section which I highly recommend to play with. Unfortunately, forget about bulk managing your contacts in Ecomail. These features are not there and you have to use import process to overwrite certain data. You should be using custom fields, rather than labels, because these cannot be removed (only by Ecomail admin through customer care request). Do not forget also to refresh/review your contact database regularly, ideally by creating a campaign to confirm the interest of your recipients. You can automate this process too, but we leave this for some other time.
If you want to learn more about e-mail marketing, I suggest you to read E-mail marketing: Velký test doručitelnosti (CZ) from Daniel Nytra. Another short comparison is at Včeliště. Alternatively, you can always contact me with your queries, ideas and tips.
There is already plenty of resources online, providing a guide on how to choose a domain name. In this post, I will just leave few links for a quick reference and tips and tricks from my personal experience.
Firstly, it is quite important to note, that selecting a domain whose customers are non-english speakers is quite different than for example dealing with Aussies as the target audience. Not only the customers are used to their national domain suffix, but also the local search engines can be excluding .COM sites from indexing or prioritising results that have the local suffix (in this case .CZ for Czech Republic).
I have been dealing with domains and websites since the year 1999 and learned the hard way that it is better to chose less attractive domain name but with .CZ suffix rahter than aim for czech version with .COM. As an example: instead of choosing kvetiny.cz, you might want kvetiny.com, beacause only the .COM is availabel. I would suggest to find an alternative domain name available with .CZ suffix instead. The example of that could be: cerstvekvetiny.cz, kvetinyodAleny.cz or kvetinyBrno.cz. People are used to search their native domain suffix (.CZ) rather than .COM. If you wish to be more specific and deal with roses only, go for ruzezbrna.cz but keep in mind that you might extend your business in future and will have to buy other domains and/or change the marketing if you start selling orchids and other type of flowers.
Another important aspect is to avoid numbers, symbols and problematic words, especially because Czech is hard language and people often cannot spell the words properly. Examples include “i/y, s/z, mne/me” and more. Suffix .COM can be pronouced in Czech as “kom” or “com”, which complicates any audio-relating marketing plans.
Think also about your business and project that this domain will serve. You want the domain name to represent it in the best possible way. It should fit into your marketing trategy. You also want to avoid any lawsuits and conflicts with competitors, so check trade marks / registered businesses upfront.
Do not worry too much where you buy the domain name. Chose one provider you like or have been recommended by a trusted source and deal with that one only. The few Czech Korunas you will save buy purchasing one domain here and another there (because they are currently on special), might cost you extra time and money in the long run.
Secure alternative versions of the domain name, because there is always someone that wants to make money on your business easily. Domain names are cheap, so if you plan on expanding to other countries, think about it in advance.
Lastly, you can use generator to boost your creativity, but make sure it corresponds with your business and plans. If the domain is taken, put offer together and buy it off from current owner (if the price is reasonable).
Ok, that’s it from me. Below is the list with other resources if you wish to know more. Alternatively, you can get in touch with me via LinkedIn or e-mail and discuss this further.
Well, it is a file format standard for electronic business cards. The latest standard is vCard 4.0 defined in RFC 6350. “VCF’ (virtual contact file) is extension used to identified this file format.
You can create one in Outlook app, online website, in your text editor or export it from your ERP solution (if they follow standards). You can also send vCards via e-mail, MMS, instant messeger or put them on your website and even better your mobile website version. Also, you can turn them into QR code.
Basically, they can contain name and address information, telephone numbers, e-mail addresses, URLs, logos, photographs, and audio clips.
Outlook supports vCard and helps you to store contacts in exchangeable format. It is generated locally so no privacy issues. I don’t use it, but here is a tutorial for you: https://www.lifewire.com/create-vcard-outlook-1173507
Text editor (Notepad/PSPad/TextEdit)
Follow the standard RFC 6350 and crunch it yourself. Not practical, unless you want to be VCF master or code some apps or addons with it. No privacy issues.
Project from bbros.us (two web developers), that provides QR/hcard option on top of classic vCard, easy to use but no privacy page / information about what is happening to your data.
Most user friendly generator, but based on their privacy-policy, they do collect data – in particular in Jordan. No info about 3rd parties. I leave that one with you.
This one covers vCard, QR and Matrix + they provide a bulk generation upon request (as a service). The site scares with lots of text, but it gives you better understanding of how to use it in return. No info about privacy.
If you dare to use Microsoft Store, then give this one a try. I assume it would be locally generated with no data collection in the backend. The negative review is not relevant, so it might do the job. I have not test it it.
The most safest generator, but also very painful for non-tech person. To generate it, you need to learn how to run Node.JS with NPM. The source-code is public and you will generate it locally, so no issue with privacy. More suitable for developers.
This is a quick recap why I chose to use G-Suite instead of free G-Mail account or other e-mail services.
First, I had to ask myself if I want to have professional e-mail address or not. Sure, I can setup G-Mail, Yahoo, Seznam e-mail in no time, but how does it look when the e-mail comes from free services that provide zero guarantee? Yes, you can lose any e-mail any time, nothing guaranteed. After all, it’s free right? So, having my own domain and proper e-mail address was a choice number one.
Once I had a domain name registered, I could opt-out for e-mail services from domain registrator (sometime host provider), but these usually run on Roundcube (PHP) web app using IMAP protocol. Although this app is using AJAX and can be reasonably user friendly, sometimes it lags a lot and still does not compare to G-Mail or Outlook experience. So I thought, I would be better off using my desktop client or mobile app, but I looked further.
I looked at ProtonMail, which I helped translated in the past, a great service from Switzerland that provides built-in end-to-end encryption. (they provide VPN too). The pricing for e-mail services is however nearly the same as a complete G-Suite that provides additional services / apps. So, if I have to pay, I want to get as much as possible for my money and I looked furhter again.
I also considered Office 365, but since I work with it at most of the businesses, I decided to give Google a chance. Plus, it is nice to refresh the knowledge from the Google world too and stay up to date.
When I first used G-Suite (in the past), it was branded Google Apps and it was free for business. However, these times are gone and they offer only paid opition. So, I knew I will go for the paid version (named G-Suite) unless there is a way to use Google services for free.
Sure there is, but read before you try. To keep using only my personal free G-Mail account, I would setup all incoming e-mail redirect from my domain’s mailserver (@company.com) to my personal G-Mail address (@gmail.com). I would then add “send-mail-as” into my personal G-Mail account to allow me sending e-mails from my domain but directly from my personal G-Mail interface. This way I could use free G-Mail and Google Apps like I normally do, for free and with my professional e-mail address.
However, there is a catch. Since I send e-mails from my G-Mail account, the e-mail does not go back to my company domain mailserver (servered by Roundcube app), but it is sent directly from my personal G-Mail account (@gmail.com address) to the recipient. That creates two problems:
But, that’s not all. If I deside to use personal G-Mail accounts for my business and take advantage of other apps like Drive / Docs / Sheets, they all essentially reside in this personal account and any access has to be shared “publicly” with other users. This means that the ownership of data is not held in my business, but is distributed to other users/owners of those free G-Mail accounts. Getting access to those e-mails/files is left with their merci.
Not to mention the migration/permission mess when I would have multiple users with personal accounts and wanted to migrate them into one G-Suite. Each account has to be migrated manually/separately and permissions recreated.
Therefore, it is better to “measure twice and cut once” and pay few dollars for G-Suite right from the beginning.
A brief extract from Business Leaders magazine (03/2019) about e-commerce in Czech Republic and other online resources I came across while doing the research.
!Note! Out of box is sometimes sold as “custom solution” to customers surprise.
I finished listening to an audio version of the book called “The Internet of Money” by Andreas Antonopoulos. This book is structured into very short, numbered talks which are quite handy when you need to navigate elsewhere and also if you need a refresher. Each chapter starts with a title that makes it really easy to remind yourself whether you’ve listened to it or not. Great for a distanced driving.
In regards to the content of the book, as you would assume, it relates to Bitcoin technology and refers to it all throughout the book. There are quite good examples and is easy to understand. Here are a few points that stood in my mind after finishing this book (version 1).
Now I can jump on the second edition and will update this post after finishing it.
Also, I would like to thank Andreas and other people that spend their valuable time working on this piece. I provide a link here, so this book can reach a wider audience. I hope you will enjoy it as I did.
If you have some crypto coins, secure them in hardware wallet! I can recommend Ledger Nano S as shown below. I used it for about 3 months, pretty straightforward to use, portable and reasonably priced. If you have any questions, leave me a message.
Crowdfunding is a great tool, yet platforms that dominate the market at moment are taking a big bite for securing those transactions. Here is just an example chart of how much you end up paying read more …
As of 1st May 2018, I will be utilising WaveApps.com and moving away from FreshBooks for invoicing and accounting purposes. They both provide similar features and Credit Cards integration with Stripe payment platform, but WaveApps takes it to the next level with zero monthly cost. This package is, however, designed for small businesses and there can be issues with GST calculations on invoices as this product primarily targets the US market. For non-GST-registered individuals, it is a great and free tool. Tools like MYOB Essentials, XERO, Quickbooks have been taken into consideration, but I do not see a value for money (with respect to my current needs). Let me know your experience with this or similar product.
you have Huawei HG659 that came from TPG pre-configured, but it doesn’t work on ADSL. You set up bridge mode to 3rd party ADSL modem and still no success. Reason being – it’s preconfigured for VDSL and you cannot change it without root admin access. On top, TPG won’t give you the password for root.
Forget about root admin read more …
Bitcoin is not always Bitcoin!
Warning! Before you invest in Bitcoin, please do a proper research and/or ask people you trust for advice in this field. There is a very nasty marketing approach circling Bitcoin and has been for a while, as everyone wants to cut their piece and profit. Don’t let them profit on you.
You might come across websites, social network profiles or forum campaigns, which claim that they sell or offer services of Bitcoin, but they are actually selling a forked version of Bitcoin. read more …
Here are few links I recommend to start with for a web server design, load testing and performance.
Below is a list of tools you might need for checking a transaction fee or its details. Handy for cutting some TXs cost and troubleshooting crypto transactions (mostly BTC).
Let’s assume you enabled 2FA on your GDAX/Coinbase account. Currently, you cannot withdraw funds from GDAX to outside address or bank account without two-factor authentication (2FA).
However, you can move the funds from GDAX to Coinbase account and from there you can then send them to outside address without 2FA! I consider this a security flaw and will demonstrate the issue in the example below.
If for example, you have a device (PC/MAC/Mobile, etc.) where you have activated “remember me for 30 days” feature to avoid providing 2FA everytime you log in, this device becomes a target for potential theft. Once someone will get an access to this device and steal your login credentials, they can then move the funds from GDAX to Coinbase and from there move it to an outside address to which you no longer have access. GDAX and Coinbase share the security settings (including login details), so attacker needs just your login details to access both platforms to action it.
Vulnerability above assumes that attacker will gain access to login credentials and to the device with active “remember me for 30 days”, so please make sure you have both secured very well if you happen to have this kind of set up.
@COINBASE: kindly fix it pls!
I randomly came across a problem related to Facebook privacy and public posts. If you have ever posted something on Facebook, you might also know that there are some privacy options available for each post. While you might have your default visibility set up to “friends” only, there still might be some older posts on your timeline with privacy set to “public“.
That essentially means that anyone who googles your profile can see your public posts, such as links, photos, videos, notes etc. Remember those pictures with your awesome hairstyle from the 80’s? Your dance creations on New Year’s Eve? Or maybe those links about political affairs? Whatever is the case, you might feel like you want to hide them all. read more …
AI = artificial intelligence, has been on rapid growth during the millennium age and we are shifting into cognitive era of computing, where computer software can listen, learn and analyse unstructured data. Cognitive thinking is natural to humans but it’s been a great challenge for digital world. These limitations however, are falling apart and the future we envision and sometimes dream about, might be closer than we think. Scary and exciting at the same time. read more …
Ok. So this has happened to me already 4 times and technique below is not guaranteed at any circumstances. However, it worked for me all the time. So what is the issue? iPhone 4s simply stop providing me wifi feature since I updated the iOS to newer version. It has happened with any major iOS update 7.x, 8.x. Wifi was working perfectly fine, then I updated iOS and boom – wifi button grayed out. Soft reset, hard reset, factory restore, nothing helps. Apple support claiming it as a hardware fault. read more …
I am currently working on revision of my password management. Recently, I’ve been a victim of a scam e-mail from pretending to be from Gumtree and my password was exposed. Rookie mistake in a rush. I immediately took actions, however I realised, I don’t have a clear idea, where else have I used that password and hence those services is under potential threat. read more …