Saturday, May 7, 2016

Random stuff about working at Google, or A Delphi guy walks into Google...

Working with C++ hasn't really been a huge barrier; if you don't mind the painfully long build times. The Chromium developer builds are structured to be more incremental and allow for small, localized changes to build relatively fast. However, many times doing a rebase/update on the local git repository will almost always require a full rebuild. Even on my 24 core, 48 thread machine, builds can take about 1-2 hours. Building on a top-end Surface Book is easily 2.5x that.

Wednesday, May 4, 2016

Code is the language, formatting is the dialect.

When working a team environment with a large codebase, it quickly becomes apparent that the code itself is the primary manner in which the team communicates on a day-to-day basis. The code embodies the ideas and thoughts of the author. On the Google Chrome team, no change is ever committed until it is reviewed by the "owners" of the code. Owners are defined on a per directory basis such that any change to a file within that directory, must be approved by one of the owners.

Friday, April 15, 2016

Who watches the watchers?

While continuing on my quest of researching solutions to over-zealous track-pad scrolling in Chrome, I discovered a really disconcerting issue with the Direct Composition interface APIs. Let me frame this by pointing out this statement from the above linked page:
The DirectComposition API is intended for experienced and highly-capable graphics developers who know C/C++, have a solid understanding of the Component Object Model (COM), and are familiar with Windows programming concepts.

Monday, April 11, 2016

Canary in a coalmine

Do you like to live on the edge? Are you accustomed to being repeatedly abused and taken advantage of? Do you like being "that guy" at the party who always seems to be up on the latest new tech, product features, or bugs and fixes?

Wednesday, April 6, 2016

Google, Chrome and Delphi

So, what does Delphi have to do with Google and Chrome? Interesting question. It turns out Delphi has been very beneficial to helping me diagnose and troubleshoot the Chrome browser.

Friday, March 11, 2016

So... Howzzit Goin'?

As I end my third week as a new Googler (a Noogler in Google parlance), I figured I would update those few folks that may still be interested even though I've left the RAD Studio/Delphi team.

Friday, February 19, 2016

A New Adventure

It is with sadness and excitement that as of yesterday, February 19th, 2016, I'm no longer an employee at Embarcadero/Idera. I will be starting a new position at Google (Alphabet) on Monday, February 22nd. This caps off a run of 24 years, 1 month, and 13 days at Borland/CodeGear/Embarcadero/Idera. I remember arriving at 1700 Green Hills Dr. on the morning of January 6th, 1992, naive, nervous, excited, and just in awe that they picked me to join the Turbo Pascal team.

Sunday, February 14, 2016

Delphi at 21, an era

Today marks an interesting day. As the title suggests, today is year 21 since the public announcement of Delphi. At the Software Development West conference in San Francisco, California, I remember sitting in the audience as I watched my colleague, Anders Hejlsberg, demonstrate the new Object Pascal based development tool.

Wednesday, December 30, 2015

Baking an Object Pascal and Raspberry Pie for the Holidays.

If you've not been living under a rock over the last couple of years, I'm certain you've noticed the recent release of the new Raspberry Pi 2 Model B. Packed in this little not-much-bigger-than-a-playing-card form factor is a quad-core ARM Cortex A7 along with 1GB of RAM. It also sports HDMI video/audio, Ethernet, 4-USB ports and a programmable parallel port for peripheral interfacing. Booting several versions of Linux is a snap... but what about using your favorite language and mine, Object Pascal to target this device?

Monday, December 14, 2015

The Chronograph - Part 5

When developing the Ballistic Chronograph, I decided that I needed a way to have, effectively, a command-prompt. I also wanted to have a way to display text in an auto-scrolling view. It would be used similar to Object Pascal' Writeln, C's printf or C#'s Console.WriteLine. The Arduino libraries already have an abstract class for writing text, Print. If you've done any Arduino programming, you've already used this class indirectly via the HardwareSerial class.