WWDC 17: Why am I excited as a developer?

By Peng Xie

WWDC 17: Why am I excited as a developer?

It’s been a week since WWDC and I finally got time to write this blog post to express my excitement as an iOS developer. I won’t be talking about the keynote, since it’s pretty much the same every year. Instead, I’ll be focusing on the real deal, WWDC 2017 Platforms State of the Union.

For the non-iOS-developer readers, Platforms State of the Union is a session in WWDC that gives attendees a more technical overview of what’s coming to Apple’s platforms, as its name suggests. Just like previous years, Apple made some really big announcements to its developer community. Let’s see some of my personal favorites.

Xcode 9 Source Editor

As an iOS developer, I use Xcode everyday, which sometimes can be a pain. Xcode’s performance and features are not that strong comparing to some of the competitors. This year, Apple introduced one of the most welcoming changes to Xcode in my opinion – they have re-written the whole source editor from ground up in Swift! The result? 3x faster file opening seed, 60fps scrolling and up to 50x faster jump-to-line action. On top of that, they also implemented an integrated markdown editor, improved coding issue presentation and tokenized editing. What’s even better? A brand new refactoring engine and workflow that is powered by an open-source transformation engine. IntelliJ users may not be that impressed with these improvements. But to me, the all new source editor will give me a huge boost in productivity. I can’t wait for it to come out of beta… (Rule of thumb, don’t use beta Apple softwares on production development works.)

Swift 4

Not surprisingly Swift 4 will be there with Xcode 9. Apple has vastly improved one of the most widely used classes in Swift, String class. In Swift 4, String is now a range-replaceable bi-directional connection, meaning it behaves and can be used like an array of characters now without any sort of conversions. Thanks to the underlying improvements, String now provides 2.5x-3.5x faster processing depend on the language it’s in. Another welcoming news is the introduction of “codable” type. The new type will be synthesized by compiler and has the ability to perform 100% type-safe JSON encode/decode with only one line of code. Apple also made it easier to adopt Swift 4 in Xcode 9. The compiler now supports both Swift 3.2 and 4.0 and allows developer to mix-and-match 3.2 and 4.0 targets. All these improvements makes Xcode 40% faster building large mix-and-match Swift/Objective-C projects. Moreover, building projects using multiple Whole Module Optimization targets is now 2x faster!

iOS 11

One of the biggest announcements in WWDC 17 is iOS 11. For users, iOS 11 blurs the line between a desktop and a mobile OS, which will finally make iPad Pro a viable productivity tool. For developers, this means new APIs to play with. Starting with the new Drag-and-Drop feature, Apple did a phenomenal job making it easier to integrate in apps. It’s automatic for text and web content, and has delegate protocols for customization similar to other iOS APIs. With its cross-process, system-wide multi-touch support and built-in data security, I’m sure developers will start to provide this new feature in their apps to users as soon as iOS 11 becomes available.

Good news for everyone

Along with Xcode 9, Swift 4 and iOS 11, Apple also introduced CoreML for machine learning, Metal2 graphic engine and ARKit for virtual reality. These are only a few that caught my eyes. I am really excited to learn more about CoreML and hopefully can put it to use in one of our apps someday. I truly think Apple has given us developers really good tools and platforms to provide users best features and experiences. This is good news to developers as well as users. A better Apple will surely push its competitors to step up their game, which is something I really like to see. Whether or not you’re a developer or iOS/macOS user, you should be excited too. As consumers, we will always benefit from the competitions.

Get to know “Markdown”

By Peng Xie

What is Markdown?

Markdown is a lightweight markup language that is natural to write and easy to convert to rich text and other formats such as HTML or PDF. Because of its simplicity and portability, it has become the go-to option for developers to document their codes and README files. Find a random repository on GitHub, you’re likely to see at least one file in it written in Markdown. In addition to developer communities, Markdown is also supported in a variety of other places such as blogs and forums. Even some instant messaging apps now have Markdown-inspired formatting features.

Markdown in GitHub

As one of the most popular places where people use Markdown extensively, GitHub actually has its own version of Markdown syntax which is called GitHub Flavored Markdown (GFM for short). Being a Git hosting service, GitHub uses GFM to provide users additional features such as the ability to reference issues, pull requests and SHA-1 hashes of commits.

Markdown in WordPress

WordPress supports Markdown as well but you have to enable it first in your blogs settings. In Settings under Configure section of the side menu, you can turn on Markdown support for composing in the Writing tab and for comments in the Discussion tab. After saving the settings, you can start to write your new blog posts in WordPress using Markdown. As a matter of fact, this whole blog post is written in Markdown!

Time to play?

Now that you know more about Markdown, let’s see some examples!


You can either put your code inline like this or add a code block in your file like what I’m going to show you below.

This is a code block!

The syntax for inline code is to wrap your code inside a pair of `.
To use a code block, simply put ``` at the lines above and below your code block.


[link to Google](https://google.com)
will be rendered by a Markdown viewer as
link to Google


* Unordered list item 1
* Unordered list item 2

1. Ordered list item 1
2. Ordered list item 2

The code block above will be rendered as:
* Unordered list item 1
* Unordered list item 2

  1. Ordered list item 1
  2. Ordered list item 2

That’s just a few simple examples of Markdown. There are many other ways and styles to write in Markdown. If you are interested, you can checkout GitHub’s guide on Markdown and the Markdown support page for WordPress.

Also, checkout this awesome post on Ray Wenderlich for some recommendations on Markdown editors for MacOS.


Hey, thanks for reading this blog post! Here’s a bonus section for you! Do you know that you can make presentation slides using Markdown as well? I found an interesting presentation writer on GitHub called Marp. Just separate your slides with --- between empty lines and you can literally write a whole presentation using Markdown in a single file!

Zen and the Art of Smartphone Maintenance

By Ganpy


I am not talking to Chris. There is no Chris in this story. And this is not a story based on actual occurrences. Although it is possible that I am talking to a eleven year old like Chris. Or a Twelve year old. Perhaps even to a twenty five year old. As a matter of fact, I could be talking to anyone with a smartphone. So, once again, to be clear, I am NOT talking to Chris.

That brings me to the story.

“New model of iPhone releases tomorrow”, I yell.
“I have seen lots of those. I mean, lots of such new smartphone model releases..”, you say.

“Oh”, I nod and start thinking to myself. We now have a generation of 9-10 year olds who have grown up with smartphones and know nothing different. They don’t get impressed with new models getting released every other month. I reckon one has to be old to appreciate such “events”. Or should have at least lived during the dark age, aka the pre-smartphone age to be excited about such events.

“But this one is a new iPhone release. The mother of all such events. They don’t happen every year. Ok. I’ll correct myself. They do happen once a year..Or twice a year. But still a rare occurrence given it is from Apple”, I say in a fading voice. I know I am losing my battle to engage you and by now, I have given any hope I may have had to trigger a drop of excitement about the big event scheduled to happen on Sep 7.

A grown up adult like me does things with an iPhone, in a way that is completely different from any teenager or for the story’s sake let us say,  from a eleven year old. There is no novelty factor anymore, but there is a pride of ownership. I have seen this device – this iPhone 6 that I am holding in my hand, the one I am staring at every 2 seconds, as I anxiously wait for my friends’ reaction to a wisecrack that I just spluttered out in a college WhatsApp group..yes, I have seen this device evolve from a flip phone, when such devices used to weigh a couple of pounds at the minimum. But the eleven year old doesn’t know that because the eleven year old has never held a flip phone in his/her hands and has never experienced the joy of carrying a fanny pack sort of a belt clip to hold that heavy phone as he/she walked around. That’s when it dawns on me. It’s sort of like Television for my generation.

It’s Sep 6, 2016. The day before. I don’t have any Pre-Apple event rituals that I follow. None that I recollect anyways. But I wonder if I should indulge in some. Start a tradition perhaps. But why? To what end?

We all are just communicating. What primarily used to be voice based communication that these phones used to enable, has now transformed into text based communication. Voice based communication is almost secondary now.

“Apparently it’s going to have better cameras”, I holler as the noise of a passing vehicle drowns my voice.
“What?”, you look at me puzzled.
“Well of course, You have seen that before…Nothing new I suppose”.

I invite you to join me on my side of the table. The burly man in white, who I sense by his impatient body language, has been waiting for a seat for a while. Or he has a severe case of growling stomach. Either way, he quickly pulls the chair you were sitting on, away from the table to move towards another table. I notice an iPhone 6 plus peeking out of his sweaty palm. He rests himself on the chair with some physical challenge, the act only exacerbated by his continuous indulgence on the smartphone . I don’t think he took his eye off even for a second.

Where was I?

“They say iPhone 7 may not be a huge jump from iPhone 6. But who knows? I am going to get one no matter what. They are also speculating that Apple will drop a new Apple Watch along a new MacBookPro..”

The burly man is still busy staring at his phone. The waiter has to tap on his shoulders to get his attention. I think I caught a glimpse of the yelp page of the restaurant open on his phone.

“I think he is looking at the reviews..”
“What..? What did you say?”, you, completely unaware of what is going on around.

That’s when I notice that you have been staring into your smartphone as well, all this while. And I hear you whisper something.

“What did you say?”, I ask gently.
“Oh..Nothing. Apple has been playing the catch up game for a while now..”.
“You mean, they don’t lead smartphone innovation anymore?”.
“Of course not. Which world do you live in?”.
“I guess the same as you. Ha ha..By the way, I have never used any other kind of smartphones. Been an iPhone user all my smartphone life..”.

You lift your face and look at me. May be for the first time during this entire conversation, I see you making eye contact with me. I see you smile but with a bit of an annoyance.

“I can never understand you Apple fanatics..”, you say with a bit of disdain.
“Hey, I am no fan of anything. I just like iPhone..”.

Through the corner of my eyes, I could see the man at the next table still staring at his phone as he quite skillfully cleans up a bowl of soup. Broccoli Cheddar with bacon bits. The restaurant is known for this soup. Yelp seems to have played a role in his decision making.

“So what is your favorite smartphone?”, I decide to become more open about others’ smartphone choices.
“I really don’t have any..”.
“But..but..you are very judgmental about iPhone users..”.
“That means nothing. I mean I find this whole excitement silly..”.
“Hmm, I don’t know. You are right. It’s a bit silly. But I can probably explain..”
“I am sure you can. Do you see any other smartphone releases preceded by so much press, media coverage and fan frenzy?.”.
“Exactly my point. You don’t and that’s why I was trying to get you excited..You seem to have an absolute equanimity as far as smartphones go…”.

I see you break a smile. And you once again make an eye contact with me. This time a bit deeper. A bit stronger connection. As if you have made a point.

Properties and KVO

By Peng Xie

The other day I came across a bug when I tried to use Key-Value Observing to observe the change of a property in some not-so-modern Objective-C class. The observer was never notified when the property’s value changed. It took me a long time to figure out what was wrong and I just want to share my findings, so you don’t have to be upset should you ever run into a similar situation.

It all started with a simple “@synthesize” statement.

Some background first. In “Adopting Modern Objective-C” document, Apple recommends using properties instead of instance variables (or iVars) in “as many places as possible”. One of the benefits listed is “Auto-synthesized getters and setters”. If you still remember all the “@synthesize” statements in stone-age of Objective-C, I believe you will just love auto-synthesizing feature in modern Objective-C as much as I do. (Almost) No more “@synthesize”! Isn’t that sweet?

Even though synthesizing is no longer required (most of the cases, and usually not even recommended), you can still use it to synthesize a property with a backing iVar (Compiler will create an iVar with the same name of the property if there isn’t one created by developer.) and custom setter and getter. However, if you don’t make your setter KVO-compliant or just simply ignore setter and change backing iVar’s value directly, KVO will obviously fail to observe the change in property’s value.

A well-designed custom setter or a setter created by auto-synthesizing calls “willChangeValueForKey:” and “didChangeValueForKey:” methods at appropriate moments to send observer notifications so that observers that implements KVO methods know when a property is changed. If new value is directly assigned to a backing iVar, the setter is never called and hence there will be no notification sent for KVO. Not only will your own KVO code not work, any framework you may have used in your project that depends on KVO will also not work.

You can find a demo project here. In the demo, if a property’s value is modified without using the accessor (setter in this case), KVO won’t be able to observe the change.

TL;DR Listen to Apple and use properties wherever possible.

Opposite View: WWDC15 Keynote from a Developer’s Perspective

By Peng Xie

OS X El Capitan

  • Oh the new name, good luck translating it into other languages…
  • Pinned Sites in Safari: It’s gonna be useful when browsing Facebook, Twitter, etc. at work, class… Apple’s engineers really understand what we want after all.
  • Enhanced Spotlight: I actually didn’t know you couldn’t check weather and search things with your own words with Spotlight in Yosemite.
  • Mail App: I’m gonna write emails to all the people I know with all the tabs I can have in new Mail app’s compose window and still ignore emails from Phil Schiller because I can search for all emails I ignored from Phil!
  • Spilt View and Window Management: Seems like Apple learned something from Windows 7?
  • Metal for Mac: RIP Open GL… While the PC gamers are playing GTA5 with awesome graphic, Mac gamers are still stuck with games like vegetables vs zombies. Let’s see if these big game companies can convince PC gamers to buy Macs.
  • Have I mentioned that El Capitan is faster than Yosemite?

iOS 9 and WatchOS 2

  • Siri now has a new animated interface. I wonder what will you see if you look at it with red-blue 3D glasses…
  • Siri can also do way more than it (she?) could before based on its (her?) soundings.
    • “🎵It sees you when you’re sleeping… It knows when you’re awake…🎵”
  • Like in OS X, Spotlight on iOS has received a new interface and can now look into your apps for search results.
  • Apple Pay now works at more places than ever! And apparently Apple and Google seem to have reached some agreement to switch the names of their payment app. Yes, I’m looking at you, Android Pay and Apple Wallet.
  • Happy drawing in the new Notes app!
  • Maps app can now tell us which bus/train to take to go to places!
  • Apple now lets you choose what news you wanna read in its new News app, as long as you’re in US, Australia or UK.
  • People have been asking for an “iPad Pro” for some time now. Apple’s answer to it is a new QuickType keyboard with shortcuts plus touchpad capability and a more powerful multitasking feature (Samsung, get your lawyers ready!).
  • You’ll be able to use the awesome Picture in Picture and Split View feature if you have the latest iPad Air 2.
  • Swift 2 will be open source later this year, available for iOS, OS X and Linux. I feel sorry for Windows because it won’t get all the wonderful new features comes with Swift 2.
  • It seems like WatchOS 2 can finally do what it suppose to do a long time ago. Apple has finally given access to normal frameworks and features like animation & layout for Apple Watch.

Everything about Music

  • For $9.99 a month, you get another Spotify alternative. That’s it.
  • And the crazy developers at Apple are developing an Apple Music app for Android as well!

Overall impression
I am not happy about this keynote and it’s not because there’s no new Apple TV or other new toys. WWDC is a developer conference and it should focus on new operating systems and SDKs, not music. Unlike previous years’ WWDC, Apple rushed through announcements and demos and spent what seems like forever for their new music streaming service. I understand it’s important business for Apple but they really should have spent more time talking about WatchOS 2 and Swift 2.

Not Impressed

Not Impressed


Your Favorite Phone now meets Your Favorite Car

By Phillip Garton

The average American spends 162 minutes on their mobile device a day and 101 minutes in his/her car. The likelihood of these times overlapping is ever increasing as mobile devices become more and more integrated with our lives. The need to stay in constant contact, get directions or find the nearest place to get a burger becomes an everyday need.

It is no surprise that the most prevalent phone operating systems want to make life easier by offering features in your car, but it is also no surprise that car manufacturers want to bring these features direct to you from your dealer. Both Apple and Android announced this year that they will be offering in car systems straight from the OEMs for integration to their devices.

Apple CarPlay

Apple has introduced CarPlay, a feature rich in dash information system for the OEM and Aftermarket that integrates with your iPhone 5/5C/5S/6/6 Plus. CarPlay extends many of the functions that you most commonly use while in your car to the cars in dash head unit making it easier to keep your focus on the road ahead.

CarPlay attempts to keep the road your main focus with putting controls within reach. Siri handles all your voice commands, allowing you to answer calls, send messages, ask for directions or request your favorite song. If you are more of a button pusher, CarPlay also allows for all of these controls to be accessed through on screen menus or operation through your in cars specific controls.

Apple knows that while driving you have enough to worry about so CarPlay brings you everything you need without having to search for it. Apple Maps is there to give you direction, traffic to make sure you get to your destination on time. Calling is there to make sure you never miss making that important call or taking one. In car Messaging is there to help you response to those texts or emails that just can’t wait and with Siri you never have to take your eyes off the road to respond. What would a car be without your favorite tunes playing over the radio, iTunes and iTunes Radio and there to make sure you never have to search the radio to find the music you want when you want it.

Apple also knows that your mobile device is personal and it’s not just used for placing calls and getting directions so CarPlay currently supports some of the popular iPhone apps such as Spotify, iHeartRadio, Podcast, Beats Music, MLB at bat, and CBS Radio to name a few with more to come.

CarPlay will be available in the aftermarket from Alpine and Pioneer, in addition some OEMs that have already signed up to offer this right from your dealer such as Ford, GM, Chrysler, Toyota and BMW to name a few. You will soon be able to take full advantage of CarPlay in your car old or new.

Android Auto

Android has introduced Android Auto an in dash information system coming for OEMs that integrates with your Android device running 4.2 or higher. Android Auto extends most of your mobile devices functions to the in dash screen keeping your hands on the wheel and eyes on the road.

Android Auto keeps you focused using voice and on screen in dash controls. Using hot words like “Hey Google” all your voice commands, such as answering calls, send messages, asking for directions or requesting your favorite song can be done. Similarly you can access all these functions through simple and quick interactions on the in dash display.

Android wants your car to become a natural extension of your phone, so Andorid Auto brings you everything you need and nothing you don’t. Google Maps is there to give you the reach driving and turn by turn navigation with lane guidance and traffic information you come to expect. Calling and Messaging are there too, so you never miss the contact when you need to make it most. Want music? Just ask Google and it will be served up to you right through your in car audio.

Android just like Apple knows that your mobile device is personal and your favorite apps can’t be ignored so Android Auto currently supports some of the best Android apps such as Spotify, iHeartRadio, Pocketcast, MLB at bat, and Pandora, to name a few, with more to come.

Android will be available for OEMs with no word on Aftermarket as of yet, but some OEMs that have already signed up to offer this right from your dealer such as Ford, GM, Chrysler, Volkswagen, Honda and Bentley, to name a few.

Your Choice Your Car!

The choice is yours! In rare form Apple and Android are offering very comparable products, the screens and interface are close in look and feel. The apps and functions of both products are almost the same and even the car manufacturers overlap between the two products with the only edge going to Apple for supporting the Aftermarket but with Google’s open sourced approach to software I would think this is only a matter of time before we see an Android based head unit on the market.

The only questions that really remains is how quickly will we see cars equipped with this great technology and which will you choose? Soon your choices will not only include what color paint or if you want leather, but what mobile device you use.


Has Apple lost its Mojo? Or why Apple’s latest Next Big Thing doesn’t “Make me s*** in my pants”…

By Thorsten Gorny
I am an Apple fan right from my earliest days back in the 1980s. That was the time when the world was introduced to the first Mac, and I as a 9 year old boy, was just stunned when I read about it in a computer magazine. Of course, my parents couldn’t afford to buy me the ‘real thing’ but one year later I could proudly lay my hands on an Atari ST  – the “Jackintosh” – which I still love…
As soon as I could afford it, about 10 years later, I bought my first Apple. It was an Apple Performa 6200 and, in spite of the problems you had when you were using a Non-Windows computer back then, I was in heaven! It was my first “real” Apple. That was one year before “Steve” came back to Apple and one year before he started again to change the whole industry.
Apple revolutionized the way we look at technology 
Since then much has happened. Apple revolutionized the way we buy and listen to Music, we buy and rent Movies, it has turned our mobile phones into our most loved and most personal devices, it makes tablets that people actually use – and of course still makes ordinary computers which are just plain beautiful. In short, it combined awesome great technology with awesome design embedded in an awesome ecosystem. All that together makes us now bonding with technology on an emotional level.
The best product line in history!?
This of course raises expectations on Apple in each of their events, of course purposely fueled by Apple with its “Apple speak”-like announcements like “The greatest product line in history of Apple”. But what was finally presented in Apple’s last event left me not only scratching my head but also wondering if Apple has just become another of these faceless and boring companies…
Before I share my personal views on that let me say I am not a professional tech blogger nor can I speak with, or read the mind of dead people (Steve Jobs) as many of these ‘Pros’ make you believe with their ‘Steve Jobs would do this or that’ – like articles. I am just an ordinary guy who loves technology when combined with great design and who has the luck to work in the Mobile App field – and of course, who admires Apple for its incredible ‘mojo’…so far.
iPhone 6 // Keeping up with the Joneses!
So coming back to yesterday`s event I will start with some words on the iPhone upgrade. It’s hard to make something great even better and hence except for a couple of nice improvements here and there I think nobody was really surprised with Apple’s upgrade of the iPhone. But is the iPhone really still so great??? What actually made me think (and I will get back to that a little later) is, I somehow feel the roles in the smartphone field have changed and I look at the new iPhone upgrade as nothing more than Apple’s intent to ‘keeping up with the Joneses’! All of the sudden we find Apple in a follower than in a leader position.
The decision to offer the iPhone in two sizes now, both considerably bigger and clearly following the trend that Samsung set, certainly is more a “Management decision” than a “Visionary” one and probably makes sense from that standpoint. But it really makes Apple look like coming a bit late to a party where most people are already leaving. What happened to sapphire glass, wireless charging (taken to the next level), 10x battery life etc.? There I would have expected Apple to add some of their ‘mojo’ to the mix. Instead none of this is there, hopefully it’s something for an iPhone 6s before Apple is completely left behind…
Apple Pay // Payments taken to the next level…
Apple Pay is definitely a big thing and here Apple definitely again played its well understood business development card to get something to the market with great partnerships on a broad front to quickly gain critical traction. No doubt, I definitely look at this as the ‘Big Thing’ here and I am convinced this will change the way we pay for stuff. And this is the reason why I am not worrying about Apple’s bottom line for the next couple of years. But really, is that something that “amazes” us – in the best meaning of the word – like the iPod or the iPhone did?
Apple Watch // A joke…I hope!
But now let’s come to the Apple Watch! The timepiece which is supposed to shake up or bring Switzerland in trouble, as Jony Ive is reported to have said in an even much bolder term.
Having this in mind I really still can’t believe what I saw unveiled. This product was the most and long awaited product from Apple for about two years now since Pebble’s breath taking Kickstarter campaign created a hype for that kind of a product. Soon after we saw “the Androids” bringing their “Smart watches” to the market with Samsung’s Gear (one year ago!) followed by LG, Asus etc. – and of course Motorola’s Moto 360. And everybody expected Apple to beat all, not necessarily in functionality (aka nerd department) but surely in design and aesthetics. And this is where I had major expectations as well. And this is where I feel Apple has FAILED big big time!
I have expected Apple again taking up all the concepts and half-cooked products out there on the market, shaking it, adding some of the Apple magic (Jony Ive) and taking the whole thing to a next level. But instead of that what did we see?
Apple Watch is essentially a prototype, not even a market ready product, just a prototype running a demo. Even though it is only a prototype, where you really can let your ideas fly, it is adding absolute ZERO – neither in functionality nor in design – to already existing products on the market. Design wise I feel it is actually more a B or C category product, essentially looking like my four year old iPod nano on a wristband. I have never thought I would see Samsung, ASUS or Motorola being able to come up with better design in that category than Apple – but I have been proven wrong!
And I am not focusing here on the fact that they were essentially showing a prototype. That was the same when Steve Jobs presented the  first iPhone. The difference is, back then, they shook up the whole industry and market and revolutionized everything that was there before. This time they hardly get close to something that is ALREADY on the market – and this (again) with a PROTOTYPE!!!
Where is Apple’s ‘mojo’ here? Where is the love for innovation and the urge to reinvent? Where is the passion to take all this to a next level? And Apple, you really needed ONE YEAR longer than Samsung to come up with just a prototype for something that already exists with more or less same functionality but better design?
A great example to think a bit ‘out of the box’ with combining “wearables technology” with awesome design (without making the watch look like a toy for nerds) is actually Withings Activité. Something along these lines I would have expected from Apple…
I am 100% sure, Apple Watch neither frightens Switzerland at all nor does it ‘make me s*** in my pants’! We will see with what Apple is finally really coming up in ‘early 2015’. I still hope all this was a big prank played on us and Apple will ‘make me s*** in my pants’ in Spring next year. Then with a device that ‘deserves’ the Apple on it. If not, I think Apple’s time as the most innovative company is really up. Please Apple, prove me wrong…
[The “doesn’t make me s*** in my pants” phrase is a reference to Steve Job’s comment when the inventor of the Segway unveiled his invention in a meeting with Silicon Valley tech giants. As we all know, Karma is a bitch!]