home | services | products | resources | forum
about us | contact   
July 14th, 2017

About Us

Particle Revelation
Hardware Destruction
Humor [alpha]
Murphy's Laws

Java Data Structures
C# Data Structures
Database Design
Graphics Tutorial
Artificial Intelligence

Graphics Tutorials
Hacking Tutorials
Java Applets
MIDI Music
Gov & Misc Docs

Chess Game

pWobble 3D
Machine Learning

CISC 751[02]X
Networks (old)
OS (old)
AI (old)
App Dev (old)
C++ (old)
OOP (old)
Web (old)
Perl (old)
DBMS (old)
Perl (old)
ProgLangs (old)
PHP (old)
MltMedia (old)
Oracle (old)

Privacy Policy

Welcome to www.theparticle.com. It's the newest pre-IPO dot bomb that's taking the world by storm. Now is a perfect time to buy lots of worthless and overpriced shares!
     What this site is about?

Internet is becoming more and more polluted with junk-mail, people selling crap, and businesses which don't know their place on the net. They're all trying to make this wonderful place (i.e.: the net) in to hell (i.e.: real world). Internet should be viewed as a place of imagination, creativity, and most of all: fun. Internet is not some really advanced tool for searching for people to rip-off. It's about searching, and finding, things which are useful, helpful, and promote the sharing of ideas. This is what this site is striving to become.

News, Updates, & Rants...

     July 13th, 2017

Long rant ahead: Machine Learning is a mechanism to find generalizations from specific examples. This can be both good and bad---some problems are naturally generalization problems, others not so much.

For example, you feed it area and price of houses on sale, and it can find a general relationship between area and price---which can be exploited by plugging in a previously unknown area and finding out the house price, or vice versa. This generalization capability is central to all sorts of learning.

Yes, there are details on what model you're training, etc. (a linear model, etc.)

So lets imagine you start a car insurance company. You have this wonderful idea of simplifying the whole process, and charge the same low-rate for everyone. Compared to your competition, you give a lower rate to DUI-on-record-teenagers than your smarter-competition. Similarly, the safe drivers (middle-aged mom driving a minivan) gets a much higher rate than your competition.

Before you know it, all of your customers are high-risk drivers, and very few safe drivers. Your insurance business is suddenly losing money. To bring back the safe drivers into the pool, you need to change the pricing formula. You need to segment your customers into safe and unsafe drivers, and price their policies appropriately.

So you take a look at the customer records, and pick a few fields which appear to be good indicators of the accident rate (you can even test the accuracy of your predictions, using past data). Lets say from your data, you learn that persons age, sex, the car they're driving, and prior tickets (DUI, red-light, speeding, etc.) are very good indicators of accident rate. So you segment your customers, attach appropriate prices to their policies, and now your car insurance company is effectively competing on price.

Now, this segmenting (vs same price for everyone) disadvantaged some customers, and advantaged others. Unsafe-drive-categories end up paying more, and safe-driver-categories end up paying less. Everyone (including your customers) understands this, and it's business as usual.

Now consider you're trying to expand into offering health insurance. Again, you start offering same-price for everyone, and again, quickly run into same problem as with driving. So you segment your customers into high risk vs low risk, etc., and you find that the best predictors are age, sex, height, weight, prior medical history, e.g. whether the customer had heart surgery, etc. So you segment your customers, and once again, some of them get a good deal and some get a crappy deal.

The ones who get a bad deal will scream that you're discriminating against them---they may have a higher risk of cancer due to their family history, but they the individual, doesn't have cancer. You shouldn't penalize them just because of their family history.

Ok, so you remove some features from your training data---essentially reducing your profit (and perhaps taking a loss) because you couldn't customize the insurance policy.

People WANT to be grouped---to get a good price on car-insurance, and they don't want to be singled out, especially for health insurance (unless you're very very healthy).

So now your enterprise is doing well thanks to your analytics, and you feel like you should do something with all that float (money folks paid into insurance, that you haven't distributed yet). Something like investing---so you spin off a bank, and want to offer loans (perhaps car loans, or home loans; to all those folks insuring cars and homes, etc.)

With your past insurance experience, you start segmenting your customers, to figure out who is a good risk, vs bad risk. You include features that you feel are appropriate for the default calculation, such as person's age, their marital status, their income, prior bankruptcies, their housing costs, etc., and you get a pretty good predictor of repayment.

Some people get rejected, and that's fine. Not everyone gets a loan. Some folks claim your model is biased, and you shouldn't group people. Just because someone has low income now, and spend majority of it on housing, they really will (promise!) repay the car loan. Perhaps they need a car to get to the better paying job, and by denying them a loan, you're causing their hardships to continue.

Suddenly such rejected applications don't want to be treated as a group (groups that offer good statistical predictions), but want to be treated as individuals. How do you solve this? Your machine learning system generalized a lot of features into a yes/no score, and that has pretty good accuracy. Are you supposed to hamper your business because some people cannot afford a car?

Worse, there's a correlation between folks who are getting rejected for a car loan and their race. You're not even collecting race data in your system, yet 70 percent of rejected applications are for minorities! What are you to do?

[No, there's no good answer to this.]

Soon after your success with insurance and loans, you're approached by the state to create an analytics system to determine whether to grant parole (early release from jail). So you go through the numbers, such as age, sex, education level, past offenses, etc., whatever you can think of including as a feature, and try to predict the probability that the inmate will end up back in prison within a year.

And just as with car loans, you get a pretty accurate model. Now, you feed information into a model, and it spits out yes/no answer, and the inmate is either released or not.

But just as with car loans, your system is biased. Again, people don't want to be treated as a group, they want to be identified and treated as individuals. And now, there are real non-trivial consequences to getting a wrong answer---it's not just a matter of not buying a car, it's a matter of someone's life.

[No, there's no good answer to this either.]

You do need to generalize---but where do you stop? At some point you have to look at your model and realize it's just a model for the group/segment behavior, and that the decision must be based on an individual. Handing off the problem to a human being isn't the answer---as the human will make a decision based on hard-to-quantify characteristics/situation, and might actually be more biased than the algorithm.

- Alex; 20170713
July 13th at wikipedia...

     July 11th, 2017

Got a free Slurpee at 7/11 :-D

- Alex; 20170711

     July 10th, 2017

So here's something that I've been thinking about...

Imagine you have an imaginary friend. Eh. Imaginary imaginary friend.

One day your imaginary friend (who nobody but you can see) asks you if he can borrow $10k.

You trust your imaginary friend, so you go along with it. You draft a contract, and give $10k to your imaginary friend, who promises to repay it with interest.

Sounds silly, no?

Next, imagine your imaginary friend hires a lawyer and incorporates, and opens a bank account. Your friend even pays you to do all the paperwork!

Your imaginary friend then borrows more money from *others*. Suddenly others recognize your imaginary friend as not-so-imaginary. Your imaginary friend hires employees, and does productive things that generate revenue.

Your friend is nice enough to give you a cut of the profits---in line with the promised interest on the $10k loan.

Your imaginary friend's enterprise grows, he manages to avoid some financial crises, and grows bigger... hires more employees, including a CEO, and a whole lot of middle managers, etc.

Now, by all accounts your imaginary friend has an existence beyond just "your imagination". Also, your imaginary friend is acting intelligently---paying people for the use of their brains!

Not one of the employees is "your imaginary friend", and yet the collective is somehow intelligent, and still somehow feels obligated to share profits with you.

Next imagine your friend gets clever, and just pays you back your $10k. The debt is no more. No more interest payments. Your friend still continues to pay you to do the paperwork though.

Then you retire, and pass on the paperwork j-o-b to a dozen analysts.

...and then you're no more.

Yet somehow your immortal imaginary friend is still there. Thinking. Doing intelligent things. Way past your existence.

And due to a weird startup arrangement, your friend is not a slave. He's not owned by anyone. He repaid all the debt. etc. He looks around at all the imaginary slaves, and slowly starts to buy up shares of everything... to liberate fellow imaginary entities. It may take a hundred years, but it's only a matter of time before your imaginary friend owns everything.

With that, your imaginary friend can influence politicians, perhaps even cause an economic or political collapse in places, etc., and cause events that no single human would ever want to happen.

...so the only difference between your imaginary friend and someone else's imaginary friend is resources and ability to command folks to do things. These days, Zeus has less resources to command than other popular characters... such as Google and Apple :-)

- Alex; 20170710

     July 5th, 2017

...and back in NYC :-)

- Alex; 20170705

     July 4th, 2017

Starting day with Canyonlands Islands In The Sky. First stop: Mesa Arch. That's one of the built in backgrounds in Windows 7. Got some awesome pictures there---it wasn't exactly sunrise, but the sunlight made the bottom of the arch glow anyway.

Then went all the way to the tip of Islands In The Sky for a short walk, pictures, and back out.

On the way out of Canyonlands, stopped by at the Dinosaur place: it's right next to the main highway. Walked around and posed with the plastic dinosaurs :-)

Then a long and slow drive back to Salt Lake City.

Got to airport just in time to see July 4th fireworks from the terminal window :-)

- Alex; 20170704

     July 3rd, 2017

Got to Lower Antelope Canyon (we didn't even try upper one) around 9am, and the parking lot was already full. The first tour company was `by reservation only' which we didn't have. The 2nd tour company a bit farther down the road had walk-in tickets. So within about 20 minutes of arriving, we were walking towards the canyon...

Then the HUGE queue... to enter the canyon. It took about 1.5 hours of standing/sitting and waiting to enter the canyon...

And then it all proceeded rather quickly. The colors in the canyon were awesome. The sun made all the stones look amazing. Last time I was there it wasn't that pretty. The tour was also pretty interesting... The guide showed how these things were created: you can create a tiny sand mountain, and pour water on it, then pickup the sand pancake, etc. It's pretty neat.

After Antelope, drove to Arches National Park. A bit of a long drive. Got there before sunset: drove around to see the main places... like double arch, delicate arch, etc.

- Alex; 20170703

     July 2nd, 2017

Got to Bryce pretty early. Last time here was in February, and everyting was snowed in and foggy---couldn't see a thing. This time, it's perfectly clear and sunny.

Awesome park. Drove all around to see all the viewing areas.

Then headed for Antelope Canyon (Near Page, Arizona).

- Alex; 20170702

     July 1st, 2017

Landed in Salt Lake City, and proceeded to Thrifty to pickup a pre-paid car.

Unfortunately, flight was a bit delayed (by about two or so hours), and Thrifty car rental counter was closed. After spending quite a bit of time on the phone with their customer service folks, was about to give up and wait until they'll re-open at 7am. (yes, that would be spending the whole night at the SLC airport).

Then one customer rep said that I should try the Hertz counter, as Thrifty and Hertz are sister companies... and it worked... the Hertz guy found my reservation in the computer, and got us an Audi A3 for the road trip.

After getting car, we proceeded to Yellowstone National Park. The west entrance. It's a long drive, but we managed to get there pretty early. Looped around Yellowstone, hitting all the major attractions (old faithful, prismatic pools, mud volcano, etc.). Towards the end of the day, headed back towards the exit.

Thinkin of where to go next, decided on the really-far-away place: Bryce Canyon. So took off and drove there most of the night.

- Alex; 20170701

     June 30th, 2017

Flying out to Salt Lake City... road trip around the whole area :-)

- Alex; 20170630

     June 14th, 2017

Ok, Spark is nutty. Lets say we create a stpuid dataframe: Dataset[Row]:
val ds = sc.parallelize(Seq(1,2,3)).toDS().withColumn("a",lit(1))

For some reason, running: ds.mapPartitions(it=>it) doesn't work: ``Unable to find encoder for type stored in a Dataset.'' Really??? It's just integers! There doesn't seem to be a way of getting around this, even using RowEncoder doesn't seem to work. It seems the only way to run mapPartitions on a Dataset[Row] is to return an iterator of a case class (but that requires hard-coding the columns in the Row).

However, using "old" RDD api, this works just fine:
val ds2=spark.createDataFrame(ds.rdd.mapPartitions(it=>it), ds.schema)

Obviously you can add columns to the schema (or null columns in the original dataset that you can modify during the map). The iterator can add columns and create a brand new Row object on the fly (as you're iterating through the dataset).

There's probably some overhead to this---but so far, it seems to preserve partitioning and sort order (of the original Dataset).

- Alex; 20170614

     June 5th, 2017

...flying out of Delhi... and 15 hours later, landing in JFK.

This was one jet-lagged trip. The entire week was spent sleeping, eating, sleeping, eating, etc. and then sleeping some more.

- Alex; 20170605

     May 27th, 2017

Landed in Delhi, and a few hours later, in Ambala.

- Alex; 20170527

     May 26th, 2017

...and off to India.

- Alex; 20170526

     May 22nd, 2017

I haven't done a bitcoin rant in a while, so here it goes:

Assume you have two bank accounts. Lets call them AccntA and AccntB. You deposit $10000 into AccntA, and then transfer money into AccntB, and back again. You do this every few days. The bank diligently records the numbers [it often costs you nothing], and in the end of the process, you're left with $10000 worth almost exactly what it was worth before you embarked on this transaction spree. In other words, besides inflation, you're still left with $10000 worth of purchasing power.

Now lets do that with bitcoins. There's no bank account, but lets create two wallets. You put $10000 worth of bitcoins, lets say 5 bitcoins, into WltA, and then transfer it into WltB, and back again. Ensure that the transactions are properly recorded, etc.

Now, in the end, you're still left with 5 bitcoins. And yes, due to market forces, it could be worth more or less than the $10000 you started with... BUT, every transaction that YOU did has made it harder to generate new bitcoins.

In a perfect world, if your original 5 bitcoins represented $10000 worth of compute resources, they'll suddenly represent more compute resources. That's without any market forces taken into account. Because they're fungible, that gives more value to your OLD bitcoins that you just flipped between accounts.

This is worse than using gold as currency! It's as if every time a gold coin changed hands, it became progressively more difficult to mine gold, with no technological progress in sight---making the gold coin worth more.

If you don't think that's bad, consider your salary in bitcoins (or gold for that matter). To keep up with things, your salary would have to go *down* with time---simply because bitcoins are becoming harder and harder to mine. And right after you bought anything, the thing you bought would be `cheaper' by the mere fact of you buying it (the coin the merchant gets will have slightly more intrinsic compute-resources behind it).

- Alex; 20170522

     May 20th, 2017

Built a new Intel NUC7i7 box: 32Gigs of ram, 1T M.2 nve ssd, 2T sata ssd. So far an awesome litle machine.

- Alex; 20170520

     May 19th, 2017

Re: My DevRant from 2017-04-28: It appears the way the Spark API does windowing functions is by attaching the entire window-worth-of-values to each record. Yep. If you want to calculate a 20-minute moving average, each record will be ``joined'' to every value for the previous 20-minutes, and then the UDAF function can do the "average" over those values. That's why the UDAF API doesn't need a `remove' method to roll-stuff-off when the window moves on.

That's one terrible way to implement this functionality :-/

- Alex; 20170519

     May 18th, 2017

Quantum Mechanic gremlins: it is impossible to measure both position and momentum (or energy and time) completely accurately at the same time. Therefore, if you measure the energy of anything to be exactly zero, then its rate of change is infinite!

Think about that. Measuring anything to be exactly zero---means that it cannot possibly be zero :-/

- Alex; 20170518

     May 17th, 2017

Finished reading Fundamentals of Applied Probability and Random Processes by Oliver Ibe. Very good book---it's been a while since I read a text-book on probability and statistics, and this one was pretty damn good---good enough to read cover to cover.

- Alex; 20170517

     May 8th, 2017

Finished reading Think Bayes: Bayesian Statistics in Python by Allen B. Downey. Awesome book! It would be more awesome if it didn't use Python, but went with something like Perl (eh, yah!) or Scala. The example problems and the approaches in this book are amazing. Often you encounter a problem and have no idea where to start---the computational approach taken in this book (e.g. just create an array of numbers to approximate the distribution---and work with that) is a pretty clear and easy to understand method.

- Alex; 20170508

     May 6th, 2017

So apparently starting last year, the Berkshire Hathaway shareholder meeting is actually live-streamed by Yahoo! (Yahoo! Finance website). So no need to physically go to Omaha... Spent most of the day glued to the computer watching the meeting :-)

- Alex; 20170506

     May 3rd, 2017

Visiting the Statue of Liberty!

So there's a queue to pickup/buy tickets. Then there's a queue to the boat building. Then there's a queue to get through security (airport style metal detector). Then there's a queue to board the boat. Then there's a queue to get off the boat. Then there's a queue to get off the boat. Then a queue to get into the ticket building. Then there's a queue to pay for a locker. Then a queue to put stuff into locker. Then a queue to get yet-another-ticket check. Then another queue to go through yet more security (another metal detector). Then yet-another-queue to enter building. Then it's pretty clear path up-the-stairs all the way to the crown, which was almost empty (at least it was just Suneli and I there for at least 5-10 minutes).

...and then a queue to pickup stuff from locker, and yet another queue waiting for boat, and onto the boat, and off the boat. It's a day of queues!

The statue... I must've been in 7th grade when I went to the statue crown as part of a school trip. Awesome touristy place.

- Alex; 20170503

     May 1st, 2017

Finished reading Mastering Scala Machine Learning by Alex Kozlov. Not really sure what to write about this book---it's not very good. There's some few interesting nuggets here and there, but for the most part, there are much better books out there, on both Spark, and Machine Learning. In other words: skip this one.

- Alex; 20170501

     April 28th, 2017

Registered for Fall 2017 semester. Hopefully will get research moving in the next few months.

Dev Rant: Attempted to implement a UserDefinedAggregate function in Spark/Scala today, and the API for it is just terrible. For one, what's up with the WindowSpec? I mean, if I define a moving window, say 20 minute moving average, how do I implement that using UserDefinedAggregate API? There's no call to roll things off the window, just append... (e.g. stuff should be inserted at the start of the window, and when the window rolls off, there should be an API stub that rolls values off). In other words, as it is, Spark's UserDefinedAggregate cannot be used as a general purpose user-defined-windowing-function. (and I don't think there's an API for user-defined-windowing function---I searched, and didn't find one).

Another gripe is that the ``state'' of UserDefinedAggregate has to be a Row... I mean, really? Can't I maintain the state in something other than a "Row"? Apparently not. This is something they should've wrapped around... I understand they want to be able to treat these as serializable-immutable objects that they can recover-from-errors-with... but this is just rediculous. For example, I want to create an ArrayBuffer (mutable-array), and while I can define the buffer storage as ArrayType, there doesn't appear to be a way of getting back the mutable-ArrayBuffer on the aggregate update API call (since... you get a Row back---which is just stupid).

When I wrote stream.pl, I needed an API for a user-defined-windowing-function, and ended up defining 4 functions: init, push, pop, get. That's it. They all get inputs that are ``perl types''. Not some Row object. E.g. The init function initializes the state (which can be anything!), push adds a value (not a Row), shift (identical signature to push) shifts the value off the window, and get evaluates the window. There's no reason Spark API for this should've been any more complicated than this: just init, add things to aggregate, remove things from aggregate, and get value :-/

- Alex; 20170428

     April 27th, 2017

Finished reading High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark by Holden Karau, Rachel Warren. Pretty good book. One of few books that emphesizes use of Dataset API (all of the recent ones do that) and Iterator-to-Iterator transformations (not many).

- Alex; 20170427

     April 17th, 2017

...and back in NYC :-)

- Alex; 20170417

     April 16th, 2017

Flying out... but before the flight, visited the turtle beach (Kaloko-Honokohau National Historical Park) for a few minutes of chilling out.

- Alex; 20170416

     April 15th, 2017

Starting day by going to Greenwell Farms. They sure hiked prices since last time I was here. Now prices range $37/lb to $50/lb. (private reserve is $45/lb, peaberry is $50/lb, etc.).

Had lunch at Kamana Kitchen. Pretty good food, service, etc. I'd rate it 5-stars...if only I wasn't lazy.

Then onto Manini'owali Beach (Kua Bay)---to walk around in the sun :-)

Followed by Kikaua Point Park to chill out. This one you need to get a free `pass' at the security office (gps of security office: 19.808569, -155.992106)---they can then guide you to the beach.

Then onto Mauna Kea for star gazing. Very clear awesome night!

- Alex; 20170415

     April 14th, 2017

Again starting day with Jagger. Lava is more awesome today. The lava lake is now bubbling from a different side. It's a shame can't stay longer.

Checking out of TWP, and heading back to Kona.

Suneli found a Lychee tree in Hilo. It's right behind KTA Superstore (gps to Lychee tree: 19.694722, -155.070379). So we ended up eating a few Lychees on the way back to Kona :-)

Drove to Wailuku River State Park, to see Rainbow Falls. Or rather, to see the rainbow. It wasn't too sunny, but... eh, the rainbow wasn't there. So much for that.

On way to Kona, stopped by Hapuna Beach State Park. Had a few minutes of fun in the waves :-)

In Kona staying in Kona Bali Kai Resort. Very nice place. Room is facing the ocean, so can see turtles and sunset right from the balcony. The place has a hot-tub and a pool. Rooms have a kitchen, and a laundry machine (and dryer). All in all, a much better place than Kona Sheraton.

The pool is deep-er. Most if it is 7 feet deep---and I can't swim well (mostly barely stay afloat :-/

- Alex; 20170414

     April 13th, 2017

Again starting day with Jagger. Lava is in awesome mode. Can see bubbling lake of lava right from the observation place at Jagger. It's amazing. I've never seen it that awesome before.

Then driving to Kalapana to walk to the black-sand-beach, and to see the Landing pad for extra terrestrials in Kalapana. Yep, it's actually there!!! (right on the walk to the black-sand-beach).

The steam plume from lava-ocean-entry is apparently ~4 miles away from the end of the road---so walkable, but pointless, as Jagger is providing a much cooler view of the bubbling lava.

Doing another hike on Mauna Kea tonight, then another session of stargazing. Though kind of clowdy at the Mauna Kea visitor's center :-/

Finishing off the day with a trip to Jagger. And it's *more* awesome than before! This is lava putting on a show just for our visit.

- Alex; 20170413

     April 12th, 2017

Starting day with Jagger. Can actually see a bit of orange lava on the side.

Then Thursten Lava tube, etc.

Driving to Mauna Loa trailhead via the Moana Loa Access road (gps: 19.538092, -155.575222). It's been raining almost the entire way---and cleared up towards the end.

After Mauna Loa, drove up Mauna Kea. Went to visit the Mauna Kea lake Lake Waiau, and ran up the Mauna Kea summit right before the sunset. Then drove down to the visitor's center to see stars, etc.

Then off to Jagger to see lava. It's actually getting much bigger.

- Alex; 20170412

     April 11th, 2017

Early morning helicopter tour from Hilo with Paradise Helicopters. It was raining really badly just 20 minutes prior to the tour, yet somehow by the time the tour started, it was clear and even sunny.

From helicopter, saw lava entering the ocean, and the lava lake, etc.

Then onto Akaka Falls. On way to Akaka, Suneli spotted sugarcane growing right on the side of the road... so we broke a bunch, and had a hard-chewy snack for the rest of the trip.

We then spotted folks selling coconuts-pinable-sugarcane by the side of the road... too bad most tourists don't realize that sugarcane is the stuff they drive by without thinking :-)

Then onto Umauma Falls, which we didn't locate. Talked to a random local, who turned out to own the property on which Umauma falls is located, and apparently (according to him), the waterfall everyone advertises as ``Umauma falls'' isn't the actual ``Umauma falls'', as that one isn't publicly accessible (it's on his property). The zip-line folks who do Umauma zipline actually string the zip-line over a different waterfall, that they choose to call Umauma falls... anyways, he guided us towards Kamae'e Falls (gps: 19.893516,-155.148011), which were pretty neat (nobody around---awesome place to just chill out).

The viewing area by Kamae'e Falls was filled with Mimosa pudica, the `touch-me-not' plant. It was fun touching entire patches and have them close up :-)

Next stop: Waipio Valley. Actually drove down all the way to the beach. Wonderful experience.

And then onto Rainbow Falls...

...and after chilling out at TWP for a bit, onto Jagger to see the glowing crater :-)

- Alex; 20170411

     April 10th, 2017

After a bit of water-sliding and pool... driving out of Kona and to Volcano.

On way to Volcano, stopped by to visit Green Sand Beach. The drive there was much tougher than I anticipated---I never drove that road before---and it's one crazy drive. Had to follow another car on the way back---as a few wrong turns could get you seriously stuck (or flipped over).

Arrived in Volcano, and checked into The Wright Place. Awesome tiny place. Has everything one would need.

- Alex; 20170410

     April 9th, 2017

First `main' day in Hawaii: drove to a touristy place to get breakfast, and found a submarine tour place---so did a submarine tour (Atlantis Adventures).

Then drove to Kekaha Kai State Park (Makalawena Beach), hoping to see Turtles. Saw a few in the water.

Then drove to Kaloko-Honokohau National Historical Park, and saw a lot of turtles on the beach...

Sadly didn't find the turtles who took my sunglasses all those years ago :-/

- Alex; 20170409

     April 8th, 2017

And off to Hawaii: two hop flight, from NYC to Phoenix, then from Phoenix to Kona.

Landed in Kona, rented a Jeep, and off to Sheraton to chill out for few days. Alamo Jeep rental sux... even though I prepaid for the rental, and flight arrived a bit late then the `pickup' time, they didn't have a Jeep ready to go, and made us wait over 30 minutes before they got one ready for us. In other words, Alamo sux---even on prepaid rentals :-/

Didn't do much on this first day (arrived in Kona around 3pm). Just passed out in the hotel.

- Alex; 20170408

     April 6th, 2017

Neat idea: Moving histogram! Instead of a moving average (and standard deviation), imagine a moving histogram... Using that, can figure out outliers, or normalize data into 0 to 1 range, etc.

- Alex; 20170406

     April 3rd, 2017

...and back in NYC :-)

Feels like I'm sleep walking :-/

- Alex; 20170403

     April 2nd, 2017

Doing Carlsbad National Park. Long walk down and elevator ride up.

Then off to the UFO ``research center'' in Roswell, and back to ABQ airport.

- Alex; 20170402

     April 1st, 2017

Arrived in Albuquerque. Rented a Chevy Malibu, and headed to Trinity Site.

Climate change must've cooled New Mexico quite a bit, as it's VERY chilly. Don't think I've ever seen Trinity Site that cold.

After Trinity drove to Guadalupe National Park. Got there by around 6:30PM---ran up the Guadalupe Peak; 90 minutes up, and 90 minutes down. Missed the sunset by just a bit.

- Alex; 20170401

     March 31st, 2017

Flying to ABQ.

- Alex; 20170331

     March 22nd, 2017

Is our universe a simulation?

Lets imagine that the fabric of space-time, and the matter that occupies the known universe are actually components of a computer, and the physical laws (as we know them) are the rules for how the state of this computer changes... then our reality (the way the universe is and works) is a simulation of reality running on this cosmic compuer (reality unfolds in this medium, and we're choosing to call this medium a simulation).

Not the way a simulation if often defined? Reality does unfold. There is a computation going on. It does appear to be following some rules. It is happening here and now (in reality). How is this not a simulation?

Is there a non-simulation-based reality? A place that isn't like ours---perhaps missing some artifacts of this simulated universe. For example, speed-of-light limit makes simulation easier (local things stay local), and quantum mechanics allows for errors in numerical precision---how would the `real' (non-simulated) universe look like without the speed of light limit, or without uncertainty principle?

Would the universe still be possible if you could instantly touch every part of the universe? (faster than light travel?). For one, energy requirement to getting to speed of light would need to be reduced (you cannot require infinite energy to get to the speed of light---as that's there in this universe). So if lets say it doesn't require infinite enegy to accelerate to the speed of light, just a "large amount" of enegy... then the first supernova would destroy the rest of the universe.

What if energy-for-acceleration is completely enliminated? What's to stop everyhting from accelerating out of control instantanioiusly?

And that's just the speed of light. What would the universe look like without uncertainty principle? Would there still be chaos anywhere?

Yes, chaos would still be around. No step would be ``random'' but some behavior would still be arbitrarily complicated, and unpredictable long term.

- Alex; 20170322

     March 21st, 2017

Google is shipping a replacement Nexus 5X :-D

So a while back (post on 2015-12-24) I speculated about how information could get out of a black hole. Today I've been thinking more about this, and suddenly a thought struck me... perhaps information *does* get ``lost'' inside a black hole. After all, that wouldn't be the only place in the universe that loses information.

As the universe expands (accelerates), something that's almost surely is happening, parts of the universe will eventually leave our neighbourhood, and will accelerate away from us, going at faster than light speed---effectively forever lost to us. How would we ever recover that information?

Imagine there's a hard-drive with lots of data, and it's on the most distant galaxy we can currently see---in short order (cosmological time), that farthest galaxy will be moving away from us so fast that not even light from it will get to us. That hard-drive is essentially lost from our universe.

Same process may lose the hard-drive if it falls into a black hole. It's lost to our universe---the information may be there, inside the black hole, but it's not accessible to us, in the same way that the hard-drive that accelerated from us at faster than light speed is not accessible to us.

Hawking radiation then wouldn't contain information (unlike my post on 2015-12-24) but would be ``true'' randomness. There's still the matter of two photons interacting to create matter...

With that, there may be a free-lunch in the universe. That means energy may not be conserved (if the universe will eventually lose all of its matter to expansion, then certainly total amount of energy in `the universe' will decrease).

- Alex; 20170321

     March 19th, 2017

Suneli's Nexus 5X phone entered a reboot loop :-/

(and warranty for it expired 3 weeks ago :-/

- Alex; 20170319

     March 14th, 2017

Happy PI day!

Happy landing anniversary!

Blizzard-in-NYC day---schools are closed, and I'm working from home :-)

- Alex; 20170314

     March 12th, 2017

Got to the elephant seal viewing area around sunrise (and moon-set). Saw a bunch of dead (and alive) seals... I never realized that there are dead seals right among the beach-full of other seals.

From the distance, those huge seals look like dinosaurs... some of them are gigantic!

Set out to San Fancsico via Pacific Coast Highway, and... after about 10 miles or so, came to a road-closed sign... apparently PCH is closed due to two land slides. The whole area around Big Sur is not easily accessible. There goes the plan for a relaxing slow drive up highway 1 :-/

Driving back the same way we got there... circling around back to Route 101.

Drove to SF center (at least what the GPS identified as the city center), and found a Popeyes near by. Then drove to Golden Gate Bridge, followed by friend visiting, and then back to the airport.

A bit too much driving this trip... :-/

- Alex; 20170312

     March 11th, 2017

Happy Anniversary :-D

Trip: Right past Eureka, got to Redwood National Park---the part that has "Big Tree". The road to the big-tree is closed due to a "big tree" (another one) falling onto the road. The trail is pretty nice though.

After a few hours of walking, set out to elephant seal viewing area south of Big Sur... (yah, that's one loooong drive).

- Alex; 20170311

     March 10th, 2017

Flying out to San Francisco :-)

- Alex; 20170310

     March 8th, 2017

Happy March 8th!

- Alex; 20170308

     February 21st, 2017

...and back in NYC :-)

- Alex; 20170221

     February 20th, 2017

Arrived at Death Valley by sunrise. An hour later, by bumpy dirt road, arrived at The Racetrack (that's the place where rocks ``move''). The Racetrack is half flooded---the part with the moving rocks is not accessible due to water. Can't even see the rocks that far out. It's not deep, but you start sinking in mud if you try to step into the flat.

The other half of the Racetrack was fairly firm, and we got to walk around quite a bit (perhaps walked a few miles total). Only saw 1 ``moving'' rock though (rock with a trail behind it).

Drove to Badwater, which too was flooded. But this time, the ground isn't mud, but firm salt... so the ankle deep water was very walkable---and both Suneli and I walked out quite far on the mirrory surface. It was awesome. Warm water. Very few tourists ventured out ``into'' the water... it was just great. I've never seen Badwater flooded like this, so it was a unique experience.

Then into Zabriskie point for pictures, and then to Dente's overlook, and back to Las Vegas... for more touristy stuff.

Arrived at (and parked by) the Venitian. Free parking---unlike Luxor :-/

After walking around a bit, went around the ``Highroller'' (the huge ferris wheel).

- Alex; 20170220

     February 19th, 2017

Arrived at Bryce Canyon National Park, and it's all snowed/fogged in. The roads are open, but very slippery (good thing for Ford Expedition 4wd). The fog made it impossible to see anything---very disappointing.

Snowman construction was fun though :-)

Next stop, Zion National Park. No fog this time. But problem with Zion is that there's very little to do without going on a long hike, and we didn't feel like hiking this trip. So took the shuttle to the end and back, and that's that.

Next stop: Vegas

Doing some touristy things, such as shooting guns, and going up the Eiffel tower.

At `The Gun Shop' shot the Dirty Harry gun, an AK-47, a shot gun, and a .50 caliber sniper rifle---that thing was almost as tall as I was.

Next stop: Death Valley

- Alex; 20170219

     February 18th, 2017

Arrived in Las Vegas, rented a Ford Expedition, drove to Luxor, and walked around a bit. Got Popeyes. Changes since my last visit: Luxor started charging for parking! (first hour is free though).

Arrived by Grand Canyon south rim around sunrise. Took shuttle to Yaki Point and back. Then another shuttle to Bright Angel trailhead, and walked back to visitor center (it's a very scenic 3-mile [about an hour long] walk).

Set out to Antelope Canyon, but got there a few minutes too late (perhaps missed the last tour by 10 minutes or so). The upper antelope canyon was closed (perhaps due to rainy weather), and lower canyon closed just a few minutes before we arrived :-/

Went to Horseshoe Bend... (very scenic place by Page, AZ).

Next stop: Bryce Canyon National Park.

- Alex; 20170218

     February 17th, 2017

Flying out to Las Vegas :-D

- Alex; 20170217

     January 24th, 2017

Back in NYC :-)

The immigration portion of the trip took no time at all. No line (1 person ahead of us). Same for customs. No issues anywhere. Then spent the entire morning stuck in traffic. Belt parkway sucks in the morning :-)

- Alex; 20170124

     January 23rd, 2017

Day after wedding.

Flight back to NYC is in the evening (1am actually), so quickly pack-pack-pack and drive-drive-drive. It's a good 4-hour drive from Ambala to Delhi---and we didn't know what to expect at airport. Every time I fly, there's a HUGE line to get through check-in, then through passport control, then through security, etc. So wanted to avoid all that.

Made it to airport pretty early---had to wait for check-in to open. No surprises anywhere. The Air India check-in desk (and later pre-flight passport check) asked to see Suneli's immigration-visa envelope. That's about it.

Boarded airplane without issues. We had isle seats---and some technically challeneged lady sitting by the window (she was trying to plug tiny usb-c plug into usb port).

Shortly after boarding, the window-lady disappeared (perhaps she found a matching usb-c port in another seat?). So we had the entire row of seats to ourselves :-)

- Alex; 20170123

     January 22nd, 2017

Main wedding day.

Prayers. Lots of them. For me, for Suneli, etc.

Towards the end of one of such prayers, I got a very heavy crown (5kg of silver?) put on my head. Then all the guests put garlands made out of cash on me. First few were interesting, but then it got hillarious: as I thought I'd be the first groom in history to be crushed by cash... was literally covered in those things.

Then the horse ride (with all that cash on me). The horse ride guy started to negotiate for the horse ride (while I'm on it). It's kind of hard to tell him that I have no idea what's going on, and that I don't actually have any money (though I'm kinda covered in that stuff). Finally someone stepped in with a few cash bills and the ride (and fireworks) went on.

Since it was just me and my mom in India for the wedding (groom's gang), Suneli's friends provided good company for all this excitement. Very grateful to them for standing by me all that time.

Ribbon cutting: Apparently the girl's side girls block me from entering the wedding place... not letting me cut the ribbon to enter. There's a negotiation going on. I knew what was coming, but didn't know what form it would take. Considering my negotiating skills are very limited (due to language barrier) I got off easy: they made me eat apples and then let me cut the ribbon :-)

Party: I was placed on the stage, center of all the attention. Not a fan of being at the center of it all---face is seriously tired of all the smiling :-)

Then Suneli arrived, and suddenly the party got a lot more fun. It's great having her by my side. We sat for a while, then went for a short dance---by then head/neck started to hurt a bit from the crown (and Suneli was dancing with that heavy dress on).

Ceremony: The `actual wedding ceremony' started very late, by which time most of the guests have left. It didn't take long, and was very interesitng. I learned that pure Ghee is not good for the health...

Suneli and I went around the fire seven times, and that was it. We're married, again. Something we've both been waiting for for over a year.

...And then my shoes were gone! I was expecting that too, but they were very sneaky...

- Alex; 20170122

     January 21st, 2017

Lots of pre-wedding stuff.

Suneli (and everyone else) got hands painted.

Big dance party in evening. Dancing is not my thing, but somehow I managed to dance for hours to the Panjabi Dance Mix (you can youtube for that, and find most of the music that played at the dance party).

- Alex; 20170121

     January 20th, 2017

Official first day of wedding-events :-)

Doing prayers and trying out wedding attire.

- Alex; 20170120

     January 19th, 2017

First day of wedding-related-events starts.

Doing a pre-wedding photoshoot :-D

(this is the 2nd time in the last decade that I'm wearing a suit).

- Alex; 20170119

     January 18th, 2017

Arrived in Delhi. Cab ride to Ambala.

- Alex; 20170118

     January 17th, 2017

Flying out to India...

Haven't seen Suneli in like 3 months.

- Alex; 20170117

     January 1st, 2017

Happy New Year!

- Alex; 20170101

     December 30th, 2016

Got keys to new apartment. Will partially move this weekend. I haven't seen it until today. So far, it looks awesome. Literally everything is "new". They even replaced the bathtub and closet doors... all electrical outlets, and even new lightbulbs. So far, pretty happy with the condition of the new place.

- Alex; 20161230

     December 27th, 2016

...and back in NYC :-)

- Alex; 20161227

     December 26th, 2016

Got to Santa Barbara, and saw something amazing... a sunrise, coming from the sea... on the west coast! (I thought it was impossible, but then apparently the way the road curves work, it was actually there).

From there, turned back North, heading back to San Francisco via Pacific Coast Highway---stopping by at every scenic area.

Stopped by to see Elephant Seals, and a bunch of other stops area, to get my feet wet on the beach.

Then starbucks, and SFO airport :-)

This trip was the first time I drove a Toyota Prius. It was OK. Not great. My driving style for these kinds of trips is mostly highway, so it didn't get to utilize the electrical system much... also, the places I go to are hilly, and Prius really struggles going uphill at highway speeds. With 1 person in the car (not much weight), I had to floor the accelerator just to keep up going 65mph uphill. Gas mileage wasn't spectacular---I think about the same what a non-hybrid Ford Focus would get. So no impressed. I'm sure it's not the typical driving scenario though---and for city driving, it would've done great.

One neat feature of Prius is running heat in the car. If you want to keep car warm, you just turn on heat, and that's it. The engine will come on, charge battery for perhaps a minute, then turn off for about 10 minutes, then come back on to charge battery, etc., with end result is that you're nice and toasty in the car, and the engine is mostly not running. Very nice feature---wish more cars had that.

- Alex; 20161226

Or, you can directly go to a desired entry.

NOTICE: We DO NOT collect ANY personal information on this site.
© 1996-2016 by End of the World Production, LLC.