Read "Dynamo, Amazon’s Highly Available Key-value Store" Read "Bigtable, A Distributed Storage System for Structured Data" Read "Streaming Systems" 3, Watermarks Read "Streaming Systems" 1&2, Streaming 101 Read "F1, a distributed SQL database that scales" Read "Zanzibar, Google’s Consistent, Global Authorization System" Read "Spanner, Google's Globally-Distributed Database" Read "Designing Data-intensive applications" 12, The Future of Data Systems IOS development with Swift Read "Designing Data-intensive applications" 10&11, Batch and Stream Processing Read "Designing Data-intensive applications" 9, Consistency and Consensus Read "Designing Data-intensive applications" 8, Distributed System Troubles Read "Designing Data-intensive applications" 7, Transactions Read "Designing Data-intensive applications" 6, Partitioning Read "Designing Data-intensive applications" 5, Replication Read "Designing Data-intensive applications" 3&4, Storage, Retrieval, Encoding Read "Designing Data-intensive applications" 1&2, Foundation of Data Systems Three cases of binary search TAMU Operating System 2 Memory Management TAMU Operating System 1 Introduction Overview in cloud computing 2 TAMU Operating System 7 Virtualization TAMU Operating System 6 File System TAMU Operating System 5 I/O and Disk Management TAMU Operating System 4 Synchronization TAMU Operating System 3 Concurrency and Threading TAMU Computer Networks 5 Data Link Layer TAMU Computer Networks 4 Network Layer TAMU Computer Networks 3 Transport Layer TAMU Computer Networks 2 Application Layer TAMU Computer Networks 1 Introduction Overview in distributed systems and cloud computing 1 A well-optimized Union-Find implementation, in Java A heap implementation supporting deletion TAMU Advanced Algorithms 3, Maximum Bandwidth Path (Dijkstra, MST, Linear) TAMU Advanced Algorithms 2, B+ tree and Segment Intersection TAMU Advanced Algorithms 1, BST, 2-3 Tree and Heap TAMU AI, Searching problems Factorization Machine and Field-aware Factorization Machine for CTR prediction TAMU Neural Network 10 Information-Theoretic Models TAMU Neural Network 9 Principal Component Analysis TAMU Neural Network 8 Neurodynamics TAMU Neural Network 7 Self-Organizing Maps TAMU Neural Network 6 Deep Learning Overview TAMU Neural Network 5 Radial-Basis Function Networks TAMU Neural Network 4 Multi-Layer Perceptrons TAMU Neural Network 3 Single-Layer Perceptrons Princeton Algorithms P1W6 Hash Tables & Symbol Table Applications Stanford ML 11 Application Example Photo OCR Stanford ML 10 Large Scale Machine Learning Stanford ML 9 Anomaly Detection and Recommender Systems Stanford ML 8 Clustering & Principal Component Analysis Princeton Algorithms P1W5 Balanced Search Trees TAMU Neural Network 2 Learning Processes TAMU Neural Network 1 Introduction Stanford ML 7 Support Vector Machine Stanford ML 6 Evaluate Algorithms Princeton Algorithms P1W4 Priority Queues and Symbol Tables Stanford ML 5 Neural Networks Learning Princeton Algorithms P1W3 Mergesort and Quicksort Stanford ML 4 Neural Networks Basics Princeton Algorithms P1W2 Stack and Queue, Basic Sorts Stanford ML 3 Classification Problems Stanford ML 2 Multivariate Regression and Normal Equation Princeton Algorithms P1W1 Union and Find Stanford ML 1 Introduction and Parameter Learning

Home network setup (NAS, etc)



Recently, I set up my home network for digital content sharing. I will take some notes here for future reference.



  • Router and NAS setup are pretty straightforward.
  • Link aggregation
    • Needs to configure this on both router and NAS.
    • Synology doc
  • Time machine backup for macOS
  • The default file transfer protocol between macOS and NAS is SMB. Here are some tips to optimize it.
  • UPS: just connect then enable it in Hardware settings.


I found the official Download station package in DSM is not quite optimized for BT downloading. Transmission is a better choice. Here are steps to install and setup in Synology DSM.

  1. Add “synocommunity” in Package Center -> Settings -> Package Sources.
  2. Set Trust Level to “Synology Inc. and trusted publishers” in Package Center -> Settings -> General.
  3. Install “Transmission” in Package Center -> Community.
  4. Create folders to be used.
    • “download” for completed downloads.
    • “watch”: Transmission will start a download task automatically once a torrent file is added here.
    • “incomplete” for downloading files.
  5. Start the installation in Package Center; fill in all the folder information and credentials.
  6. Set up Read/Write permission for Group “sc-download” for those folders in Control Panel -> Group -> sc-download -> edit -> Permissions.
  7. All done! View the web UI at http://your_nas_ip:9091
    • The package can be started or stopped in the Package Center.
    • Available GUI: transgui.


  • I tried to manually configure DNS server to in Control Panel -> Network for external access. But this setting seemed to cause some interruptions for DSM connection. Also, transmission jobs experienced frequent 0-speed time. It may not be a good idea.

Kodi & Emby

  • Use Kodi native play mode instead of add-on mode:
    • Set up optional shared network folder in emby.
      • e.g., map volume1/video to smb://ds918/video thus network devices can recognize the path.
    • Input your credentials at kodi: File manager -> Add source -> Add a network location.
    • Change the emby settings in kodi.
      • Need to turn off forced HTTP playback as well.
  • Cannot import external subtitles
    • Make sure the subtitle file has the same name as the video file.
  • Garbled Chinese subtitles
    • Settings -> Player -> Language -> Subtitles: Change the language, font and the Character set.
  • Download subtitles automatically
    • Settings -> Player -> Language -> Download services: Use for both default services. Input your credentials for it.
  • If weird things happened (e.g., no playback), you may wanna reset local database.
  • M is the shortcut for subtitle menu, etc.

Creative Commons License
Melon blog is created by melonskin. This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
© 2016-2020. All rights reserved by melonskin. Powered by Jekyll.