Here’re some tips I’ve learnt over the years sharing apartments. Some
are only applicable if you live in the state of
NSW in Australia.
You’ll have a much better chance of getting quality housemates if
you have basic furniture and appliances, like sofa in the living room, a
dining table in the kitchen, fridge and microwave oven. If you don’t
have them, invest in free or dirt cheap second hand ones off gumtree.
Clean the place up and get used to keeping it clean.
Sign up for a free throw-away email account and use it for
correspondence with applicants.
Insure your apartment and belongings for theft, fire and flood.
Few years ago, I got a job in a team which was building a search engine
from scratch akin to a real-estate directory (but not exactly that)
where a user searches for houses in a town and can filter based on
criteria such as price, proximity to amenities, etc.
Due to an extraordinary degree of collective laziness, we decided
against IaaSes and went
with a PaaS we were familiar
with, the GAE. Very early on we
noticed that users would only ever search for houses around a certain
area and so we would never look across the entire dataset. There had to
be a way to capitalize on this and sure enough, we found it: there was
no need for a backend. The dataset for a locality and its surrounding
was small enough to be downloaded to the user’s browser and be
Mile range spottable, untoppable, cuddleable bunny
Sing your song at the top of your lung, make my day sunny
Mess up the setup and eat the punch for lunch and you're still funny
Wish the most vicious and it will taste as sweet as honey
You didn’t catch me, you’re slow in that respect
My nose bled and it painted my lips as would a lipstick
As I rose, the seams of my pants ripped
Red plotted and bare butted by design, it appears
Hysterical laughter where there should be tears
Tendency towards an eternal wobble that no one hears
Wishful optimist without detectable fears
You pushed me to my five point hit
Cared not to elaborate on the details yet
My gift to you burnt through its box when shipped
Tending the bar of self promises stocked with non-brewed beers
Deprived of the life raft impulse of shifting gears
Unequipped with the red whistle as drowning nears
Still hopelessly undecided after so many years
In my recent continuous attempt in getting rid of things bulky and/or
replacing them with compact and simpler/multipurpose tools (I
collectively refer to all these efforts as minimalism), I came across
my bulky, but trusty, scanner which is part of a multifunction that I
purchased for 20 AUD back in 2009. It had outstanding quality and served
me for 7 flipping years and 3500 scans. It still works fine but, you
know, it’s big for what it does. So I went and did some research and
found Epson DS-40 document scanner. It’s not a flatbed but given its
size and capabilities as well as my use cases, I’m OK with the
compromise. One little thing though — not easy to get it working on my
I recently read an article that showed Google was the email provider for
the majority of the top startups in US. This inspired me to find out,
on a larger scale, which companies are the top providers of email across
the whole Internet. However, what I ended up doing was to gather some
stats on Mail Exchanger (MX) providers market share. The difference is
subtle but important: an email provider offers a complete package
where a customer is given an email address, an inbox where incoming
emails are stored and a facility to send out emails. On the other hand,
an MX provider only provides servers to receive emails. For
example, they don’t necessarily provide storage (e.g. forward only).
The rest of this post documents how I went about it, the results and
some other notes.
I’ve been using Pentaho Data Integration (PDI) as part of my
various jobs over past few years. PDI is an
ETL tool that
is often used for purpose of migrating data from one database to
another. PDI runs scripts, in KTR format, which are directed graphs of
steps, each of which manipulates the data rows that passes
through them. For instance, an Add constant step adds new columns
with constant values for all rows passing through it. PDI provides a
visual development environment where these steps can be added and
connected together as to make a program that takes a bunch of row
+ column data, manipulates them, and then outputs them.
Since KTR files are really just programs, they evolve and it is a good
idea to keep track of their evolution using standard version control
systems such as git. However, KTRs have an underlying XML format
that is not persistent in terms of ordering of various elements, etc.
Therefore, utilities such as diff are useless on KTRs. That’s why I
decided to make a simple tool that would visually diff any two KTRs.
I have a 64GB SanDisk Extreme USB flash drive that I use for just about
anything. It is a USB 3.0 drive and at the time of purchase, it had the
best performance out of all drives in the market.
I can’t remember how fast it was exactly when I first bought it but I
remember the read speed was above 200 MB/s and write was above 150 MB/s.
But yesterday, a year or so after purchase, I had write speeds of 20
MB/s sometimes falling to 6 MB/s. I wasn’t surprised as I knew at some
point all the blocks will be written to and due to lack of support for
TRIM, things will get slow — didn’t think that slow!
How do I know it doesn’t support TRIM? If I format and mount an FS with
discard mount option and subsequently run
fstrim /mnt where /mnt
is the mount point of the volume, I get this:
fstrim: /mnt: the discard operation is not supported
OK, but not all hope is lost. I knew about ATA Secure Erase
command. What if that works? Turns out it does and it works so well. I
followed the kernel
guide but here is a summary of commands I ran (change
/dev/X to appropriate dev) for the impatient. I
strongly recommend reading the full guide.