Go vs. Rust

I have been thinking about learning the Go and Rust programming languages, but I am not too sure what their purposes are. I’ve been meaning to build projects for my portfolio. I have considered using Python or Java. I would like to build a server application that can scale very well. For that reason, I am considering learning Go. But first, I should survey what other people think of Go and Rust.

Go is simple

Rust is complex

It would seem that Rust is considered more ‘beautiful’ and expressive while Go is boring and ‘regressive’. On the other hand, Rust is complex and at times hard to use while Go builds things fast and makes some tradeoffs in doing so. Rust was designed for systems programming, which is already hard to do and explains why Rust can be hard to use (complex controls for complex procedures).

To better improve understanding of Rust and Go, I should try to build some of the following in each language:

  • an HTTP server
  • computer vision application using convolutional neural network
  • securities exchange for processing orders
    • and something to spam orders to the exchange
  • a web application
  • think of something more exciting to build

Summer class coming to close

This has been an exciting summer. Machine learning has been quite the buzzword in the past few years. Now that I have learned more about the methods, I know for a fact that they hype is a bunch of crap. Garbage in garbage out. If an organization has bad data, machine learning will garner terrible insights from that data.

some ML techniques:

some domain knowledge on markets

  • CompanyValuation
  • CapitalAssetsPricingModel
  • TechnicalAnalysis
  • EfficientMarketsHypothesis
  • ActivePortfolioManagement
  • PortfolioOptimization

Coursework update

Hoo-wee. Up to assignment 4 for the Machine Learning for Trading course. A quick summary of the previous three.

  • Martingale betting strategy formulation
    • Spin the wheel, win at roulette. Evaluate betting strategy
    • Basic probability (n out of m slots)
  • Optimize a portfolio to maximize sharpe return
    • Useful methods for evaluating portfolios of securities
  • Implement and assess decision trees and boostrap aggregating methods
    • machine learning basics
    • decision trees can double as classifier and regressor