Posted by Dennis Lee on Fri, 08 Jan 2021 16:00:41 +0800
This is my second progress update for the DigitalOcean Hackathon. In this tutorial, you will fork a Hugo sample repository, add and configure a new Hugo theme, and deploy your portfolio site to DigitalOcean app platform. Furthermore, you can perform advanced configuration to the Hugo theme to customize the portfolio to your preference. The advantage of continuous deployment is that any changes to your GitHub repository is continuously deployed to DO without any manual steps required. In other words, it is literally a one-push deployment from your computer to production. View a [demo](https://yourls.fxgit.work/008doapp) of the portfolio app on DO.
Posted by Dennis Lee on Mon, 04 Jan 2021 11:18:09 +0800
Writing is hard. Completing a project is even harder. For my new year's resolution, I will finish all my projects that I plan to start this year, and I will write progress updates in order to be accountable to my audience.
Posted by Dennis Lee on Sat, 25 Apr 2020 16:13:29 +0800
Jitsi Meet is a secured, fully featured, and completely free video conferencing. Jitsi isn't just for video conferencing. It also has room chat, virtual hand raise, screen sharing and streaming a YouTube video. Using your own Jitsi server, you don't have to be tied down to any free public servers, which may laggy or not available 24/7, or to be dependent on premium servers, which may be expensive. And if you're a serious user, you can create a scalable, optimized video conferencing server, or even a frontend graphical user interface to wrap around your server.
Posted by Dennis Lee on Wed, 11 Dec 2019 13:02:05 +0800
Backtrader is "a feature-rich Python framework for backtesting and trading." Backtrader isn't just for backtesting strategies. It's also has live trading and is integrated with InteractiveBrokers ["IB"], Oanda, VisualChart, Alpaca, ccxt, etc. Using your own dockerized Backtrader platform, you don't have to be tied down to any operation system or third-party platforms that provide backtesting functions. And if you're a serious trader, you can create your own stock, forex, crypto or even a deep machine learning trading robot to trade automatically.
Posted by Dennis Lee on Wed, 16 Oct 2019 18:14:14 +0800
This project was created by me because I couldn't find a Password generator that had these features in combination: (1) Using English names or dictionary words (2) Custom table mapping of alphabets to special characters (3) Password strength checker (4) Free, fast, responsive, secure and serverless Basically, I'm not very good at remembering passwords. Hence, I always use English names or dictionary words as passwords. This becomes an issue because any potential hackers can brute hack these passwords. However, if I were to replace some alphabets with special characters, such as a -> @, then the difficulty of hacking has gone up significantly, while my password can still be easily recalled from my memory. In other words, so long as you keep secure the custom table of maps, then you should be able to thwart hackers from guessing your passwords, while keeping your mind sane from remembering all types of weird password combinations. The motivation for a free, fast, secure and serverless web application came from Hat.sh, where you could encrypt a file without uploading it to a server as everything is done offline in your browser.
Posted by Dennis Lee on Sat, 5 Oct 2019 16:00:00 +0800
Telegram isn't just for sending and receiving chat messages. It's also for automating your dialog flow, including work flow. Using a Telegram Bot gives you the ability to check prices, query status, manage trades, and even have a fun conversation. And if you're a serious crypto or forex trader, you can create your own Telegram Bot to manage your order flow. In this tutorial you'll use a Telegram Bot to query your orders on a Metatrader 4 account. You'll create a Telegram Bot ["bot"], build an Expert Advisor ["EA"] that can listen and process messages from a user, as well as reply to the user with orders and account data.
Posted by Dennis Lee on Thu, 26 Sep 2019 16:00:00 +0800
This was a personal project to create a GUI head that is modular, which can be developed with any "Headless" CMS backend. The GUI is developed using Bootstrap 4 and Harp.js, which supports EJS. The navigation menu collapses, when viewed on a mobile device, into a hamburger menu. Partials that contain embeddable code are stored in the layout folder, e.g. _header.ejs. Blog articles are stored as markdown files in the blog/ folder, while their metadata are stored in _data.json within the same folder. Harp generates one html per markdown file. The index page dynamically populates all articles' snippets from the metadata stored in blog/_data.json.