Probably Both Illegal and Possible

People complaining that no one's giving Google a run for their money.

It just occurred to me that if you wanted to write a brand-new search engine to compete with Google, there's very little stopping you from stealing Google's search results to bootstrap your own database. At least for the top 50% of all required results. I mean you just do it all in stealth mode. Then you stop. Then you announce your site, and start growth hacking on fresher results.

"but what would be the point of serving google's stale search results?"

"most truths that matter are not new."
... and...
"you want to start your own search engine? lol"

"Nope.I just want to make people redundant."

"just make sure it doesn't kill us all "

"If we die, we die. Better to die by your own hand, LOL."

Leadership vs. Management

Another stub.
"Manager" tends to mean that you have clear targets and metrics. It's the part of an operation that's subject to engineering considerations, because you can optimise things. Objectives are given.

"Leader" tends to be mean that you create emotional engagement (which in turn tends to mean that you need to at least 'not suck' as a manager). It's the part of the operation that's subject to humanistic considerations, because you (intentionally, or otherwise) are able to satisfy your co-workers' feelings. Objectives are created.

Post Job Interviews

(Also during the first vaca in 18 months.)

"What are your vices?"

Women. And it's gotten to a point where I don't mind saying it in front of... women.

"Commercial sex?"

Not yet. Laws in this country are grey on that. Sometimes I get a girlfriend. But that rarely happens... seeing as how I spend most of my time at work, which hasn't paid very well of late. Most girls need either time, or money, and I have neither... so unless it's a great fit, it's not going to happen right now.

"Girlfriends aren't vices."

They could be. For example, if work is of paramount importance. Usually I only have time to go looking in between jobs.

"Like right now?"

Yeah, in the next week I could completely screw myself over for the next six months. Haha.


Ruby Training (2014-?)


Controlling the Ruby Version Environment

Analogous to chroot. Pick one of these
  1. RVM

    RVM refers to sandboxes (interpreters, gems, and irb [REPL]) as gemsets.
    Example: installing RVM and a specific Ruby version, at once; then creating a gemset linking this Ruby to a Rails version, and installing the latter.
    $ curl -sSL https://get.rvm.io | bash -s stable --ruby=2.1.2
    $ rvm use ruby-2.1.2@rails4.1.0 --create
    $ gem install rails --version=4.1.0
  2. rbenv

    ├── bin/
    │ └── stuff
    ├── lib/
    │ └── stuff.rb
    ├── README
    └── .ruby-version

Package Management

Analogous to apt-get, npm. Packages are called gems.
  • The gem executable

    RubyGems (on Wikipedia), is part of the Ruby standard library. (I'm not sure if RubyGems is itself considered to be a gem.)
    • Gem pre/installation convention

      $ gem build gem_name.gemspec
      $ gem install gem_name-version.gem
    • Gem directory structure

      ├── bin/
      │ └── gem_name
      ├── lib/
      │ └── gem_name.rb
      ├── test/(or spec/)
      │ └── test_gem_name.rb
      ├── README
      ├── Rakefile
      └── gem_name.gemspec (the specification)
  • The Bundler gem

    Bundler takes care of dependency management for applications ("apps").
    • The bundle executable

      $ cd app_name
      $ bundle install
    • App directory structure

      Example, a Rails 4.x app:
      ├── app/
      ├── bin/
      ├── config/
      ├── db/
      ├── doc/
      ├── lib/
      ├── log/
      ├── public/
      ├── test/
      ├── tmp/
      ├── vendor/
      ├── Capfile (used by Capistrano)
      ├── config.ru (used by Rack)
      ├── Gemfile
      ├── Gemfile.lock
      ├── Rakefile
      └── README.rdoc

    • Gemfile

      This file describes the dependencies of the current gem (refer to the Gemfile manual). Each required dependency is specified as a range of acceptable versions.
    • Gemfile.lock

      This file records the specific version that was installed, for each required dependency

      Commit this if you are developing an app; but not if you are developing a gem.
    • rbenv-binstubs

Task Automation ("Task Running")

"This plugin makes rbenv transparently aware of project-specific binstubs created by bundler.

This means you don't have to type bundle exec ${command} ever again!"


  • The Rack gem

    An interface between webservers, and Ruby applications. A quick intro.
  • The Capistrano gem

    A remote multi-server automation tool.

Implementation Shoot-outs

For the tuning freaks.

every minute is punctuated by me swearing at the hipster tendency to avoid calling a spade a spade. Call it a motherfucking library for fucks's sake... lol. Gem, gemspec, gemfile, bundler, barometer, constantinople, blistering barnacles, dickwad... -_-

... which brings me back to my life's work of demonstrating that there's nothing hard about math / technology - a lot of the friction in pedagogy is due to EPIC, INFORMALLY NAMED SCHEMATA.


Strategic Planning for a New Business in the Tech Industry

(strat planning, continued)

From a consumer's point of view:
technology is a medium for indeterminate welbeing; there are an unknown number of acceptable outcomes. An uncertain-(N?)-dimensional optimisation target.

From a capitalist's point of view:
technology is a medium for machinery to generate profits; any opportunity to increase returns and reduce risk over a decided investment window, are game. Two (2) dimensional optimisation target.

From a technical serf's point of view:
returns have a ceiling; the question is one of getting a job done with minimal effort. One (1) dimensional optimisation target.

(continued, following preliminary studies in Ruby's package management systems)

I've pretty much figured out a product/service that needs to be worked on in this space... an abstraction layer over:

(dimension 1)
- documentation
- library/package management
- development
- deployment
- costing (for managers)
- hiring (for managers)

... for...

(dimension 2)

- all (popular) computer languages

... this basically facilitates ease of integration, and choosing the right tool for the right job, and faster sunsetting of the wrong tools. The market simply deserves to be clearer.

A day will come where no self-respecting developer is attached to a particular language platform because the ease of traversing language platforms becomes trivial.

(a day later, to the lady who suggested recreating something like http://bento.io, to whom I said it was non-technical founders who needed more help:)

Fine. You win. The devs need help too. But I'm not sure about the format for a solution.

Acquistion time for unknown languages/platforms needs to drop by 99%

10-50% speed-ups in learning time are good for a charity operation.

With 1,000% I can run a business.

With 10,000% we're ahead of the curve.

(Earlier, my reaction had been this:)

So what comes to mind now, as what traditional AI folks call an "expert system", for the education of people in new technologies. Specifically, the non-profit side of the project can work on being a Stark-Jarvis for open content. The for-profit side of the project can work on closed bodies of knowledge. The precipice is of the usual form of course - have a solution that is too closed, and would-be-customers are incentivised to build one themselves; have one that is too open, and it lacks commercial value.


Why RoR?

Debate topic.

"Why RoR? In general," a friend asked.

I thought, hmm.

"RoR has greatest community adoption, frameworks, infrastructure, documentation, specifically for rapid application development.

Ruby's got more succinct syntax than PHP, less rigid syntax than Python, and is sufficiently stranger than C to create a barrier to entry just high enough to discourage the lowest classes of noobs from going near it, while being scripty (high level, flexible, duck typed) to be on par in utility with PHP, Python, Perl, and JavaScript. It doesn't suffer as much as JavaScript does from semantic quirks - but at this point my knowledge of Ruby is quite shallow. Ask me again in a month.

Rails is a rigid framework, which means it lets you throw relatively useless coders into a very tight box, where they can focus on getting small things right.  Patterns like these are for managing teams. It's slow, but steady. Again, I'm extrapolating here based on my knowledge of CakePHP which started out as a clone of RoR - but has since diverged somewhat. "



My philosophy of art is cold, like my heart. To some people.

Beauty is a chemical reaction that is highly selected for. It takes a certain amount of computation to be able to recognise abstract patterns. A side effect of being able to do that, is you recognise meaningless patterns everywhere. Because they stand for nothing but themselves, we call these cognitions: beauty.


Prostitution in Malaysia

Business law in Malaysia - specifically, on prostitution.

This always had me wondering, as "soliciting prostitution" is illegal, but "prostitution" is not. However, "soliciting" usually refers to some substantive offense, so herein we appear to have a law that makes solicitation illegal where the substantive transaction is not an offense.




The Non-technical Founder's Survival Guide

... or how to avoid having your budget ripped out, boiled, and handed to you on a platter


Following a discussion with some VIP, I was reminder there needs to be a super-set of this article.

Dating Apps These Days

Dating apps:

Old thought:
for monetisation, you want to be two-clicks away from event / travel / fashion / food purchase items at any time.
New thought:
you have to clone Pinterest's UI for girls to make collections of "cute bowties" or "has good taste in shoes" lists.


My general practice is:
I'll give education/"consulting"/talking about industry best practices for free; after that, if you want to engage me to implement, I charge top dollar.
Something I learnt from media agencies.