Oldie Complains About the Old Old Ways inessential.comat January 1, 1970, 8:00 am (cached at May 25, 2016, 11:32 pm)

I saw a thing on Twitter that said I’m just an old guy complaining about the new ways. Then the tweet was deleted, to the credit of its author. But let me take up the point.

It’s not the new ways that bother me — it’s the old old ways. That is, how I wrote apps before I started using AppKit.

In those days it was common to use C or C++ — always C for me, thankfully — and you may or may not have an used app framework (MacApp, PowerPlant, MFC, etc.). The app framework might generate code for you, which was a source of fragility and bugs. But, even if not, you had to do things like this:

Menu item with unique ID is chosen
App’s central event handler is called
App looks at its context and dispatches event to the right function

There were lots of switch statements. To add, for instance, a copy (or whatever) implementation to a particular view, you’d have to edit your event dispatcher to know about that particular view and its copy function. Making changes required making changes in various places.

Sure, there were things you could to make this a bit easier. It didn’t have to be total spaghetti. But, even at best, it was bad code, and there was nothing you could do about.

Contrast that with the first time I used AppKit about 15 years ago. I wrote an action method in a view, wired it to a menu item in Interface Builder, and it worked. No switch statements, no touching a half-dozen locations just to add a command.

I’m sure, that first time, that I didn’t even wire that menu item up to First Responder. It was wired directly. But, even still, AppKit used the runtime’s dynamic features to be able to find and call the right object and the right method. And that’s still true today. (Even in UIKit. Even if it’s a button. In other words, if you don’t think you’re taking advantage of Objective-C’s dynamic features, you totally are.)

It seemed like magic, then. I later came to understand how it worked, and then it just seemed like brilliance. (Brilliance is better than magic, because you get to learn it.)

* * *

So when people like me write about these problems, it’s not because we fear the future and new ways of doing things. We love learning new ways of doing things — particularly when they’re better solutions to the problems we have.

We’re not afraid of the future — we’re afraid of the past.

We remember how these problems were solved by the static languages of the day, and we don’t want to go back. In the words of Guy English:

If you see a switch statement or dispatch table they blew it.

So, again, I’m documenting the problems currently solved by Objective-C’s dynamism, and suggesting that Swift, as it evolves, needs to take these problems into account. The foundation should be built with some idea of what the upper floors will look like.

The answer doesn’t have to be that Swift is dynamic in the way Objective-C is, or even dynamic at all. But the eventual Swift app frameworks need to solve these problems as well as — hopefully better than — UIKit and AppKit do right now. And those solutions start with the language.

PS I think I’ll write about plugins next.

Exxon takes 'small step' on climate BBC News | Science/Nature | UK Edition(cached at May 25, 2016, 11:30 pm)

Shareholders at Exxon Mobil AGM reject most proposals but voted in favour of a resolution that could see a climate activist elected to the board in the future.
What will Netanyahu do with his expanded coalition? AL JAZEERA ENGLISH (AJE)(cached at May 25, 2016, 11:30 pm)

Netanyahu and Lieberman join forces to form what is being called the most right-wing government in Israel's history.
Make communication work for you (IT Toolbox Blogs) SANS ISC SecNewsFeed(cached at May 25, 2016, 11:30 pm)

Exclusive: In Ecuador cyber heist, thieves moved $9 million to 23 Hong Kong firms (Y SANS ISC SecNewsFeed(cached at May 25, 2016, 11:30 pm)

Google Built an Escape Room, Making People Use Its Apps To Get Out Slashdotby BeauHD on google at January 1, 1970, 1:00 am (cached at May 25, 2016, 11:05 pm)

An anonymous reader writes: Google France has built an escape room created by We Are Social, called "Premiere Piece," that will open in the heart of Paris. Adweek writes: "The campaign builds on the escape room trend, in which you and a bunch of friends pay to get locked in a room for an hour or two, left to solve puzzles and work in collaboration to find a way out. In 40 minutes, you must solve puzzles with help from apps like Search, Maps, Translate, Photos, Art and Culture and Cardboard, all of which are integrated into the gameplay. In Premiere Piece, visitors must help save a crew of digital artists locked in a workshop, so they can present their painstaking work at an art center in Paris. By working together, participants must unlock an object that completes their masterpiece." Google France was in the news recently for being raided by investigators for unpaid taxes.

Read more of this story at Slashdot.

Exclusive: Bangladesh probes 2013 hack for links to central bank heist (Yahoo Securi SANS ISC SecNewsFeed(cached at May 25, 2016, 11:00 pm)

US government is spending billions on old tech that barely works, says watchdog (ZDN SANS ISC SecNewsFeed(cached at May 25, 2016, 11:00 pm)

VMWare Security Advisories, (Wed, May 25th) SANS Internet Storm Center, InfoCON: green(cached at May 25, 2016, 11:00 pm)

VMware has released the following new and updated security advisories:
New
VMware VCenter Server -VMSA-2016-0006:http://www.vmware.com/security/advisories/VMSA-2016-0006.html
Updated

VMware vCenter and ESXi -VMSA-2015-0007.5:http://www.vmware.com/security/advisories/VMSA-2015-0007.html

MWare Products -VMSA-2016-0005.1http://www.vmware.com/security/advisories/VMSA-2016-0005.html

er MSISE - rwanner at isc dot sans dot edu - http://namedeplume.blogspot.com/ - Twitter:namedeplume (Protected)

(c) SANS Internet Storm Center. https://isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.
VMWare Security Advisories, (Wed, May 25th) SANS Internet Storm Center, InfoCON: green(cached at May 25, 2016, 11:00 pm)

VMware has released the following new and updated security advisories:
New
VMware VCenter Server -VMSA-2016-0006:http://www.vmware.com/security/advisories/VMSA-2016-0006.html
Updated

VMware vCenter and ESXi -VMSA-2015-0007.5:http://www.vmware.com/security/advisories/VMSA-2015-0007.html

MWare Products -VMSA-2016-0005.1http://www.vmware.com/security/advisories/VMSA-2016-0005.html

er MSISE - rwanner at isc dot sans dot edu - http://namedeplume.blogspot.com/ - Twitter:namedeplume (Protected)

(c) SANS Internet Storm Center. https://isc.sans.edu Creative Commons Attribution-Noncommercial 3.0 United States License.
Former McDonald's USA CEO: $35K Robots Cheaper Than Hiring at $15 Per Hour Slashdotby manishs on robot at January 1, 1970, 1:00 am (cached at May 25, 2016, 10:35 pm)

An anonymous reader shares an article on Fox Business: As fast-food workers across the country vie for $15 per hour wages, many business owners have already begun to take humans out of the picture. "I was at the National Restaurant Show yesterday and if you look at the robotic devices that are coming into the restaurant industry -- it's cheaper to buy a $35,000 robotic arm than it is to hire an employee who's inefficient making $15 an hour (warning: autoplaying video) bagging French fries -- it's nonsense and it's very destructive and it's inflationary and it's going to cause a job loss across this country like you're not going to believe," said former McDonald's USA CEO Ed Rensi during an interview on the FOX Business Network's Mornings with Maria. According to the Bureau of Labor Statistics, 1.3 million people earned the current minimum wage of $7.25 per hour with about 1.7 million having wages below the federal minimum in 2014. These three million workers combined made up 3.9 percent of all hourly paid workers.

Read more of this story at Slashdot.

Google To Bring Official Android Support To the Raspberry Pi 3 Slashdotby manishs on android at January 1, 1970, 1:00 am (cached at May 25, 2016, 10:05 pm)

An anonymous reader shares an Ars Technica report: The Raspberry Pi 3 is not hurting for operating system choices. The tiny ARM computer is supported by several Linux distributions and even has a version of Windows 10 IoT core available. Now, it looks like the Pi is about to get official support for one of the most popular operating systems out there: Android. In Google's Android Open Source Project (AOSP) repository, a new device tree recently popped up for the Raspberry Pi 3. The AOSP device tree contains mostly Nexus devices with the occasional "generic" entry or developer board tossed into the mix. It's rare to see a non-Google device in AOSP, so it seems Google has taken quite a shine to the tiny computer. With officially supported source code, it should be much easier for hackers to get Android up and running on the Pi 3. And once that's done, you should be able to sideload more than 1.5 million apps onto the Pi to make the device do whatever you want.

Read more of this story at Slashdot.

B-Hooks-EndOfScope-0.21 search.cpan.orgby Karen Etheridge at January 1, 1970, 1:00 am (cached at May 25, 2016, 10:04 pm)

Execute code after a scope finished compilation
B-Hooks-EndOfScope-0.21 search.cpan.orgby Karen Etheridge at January 1, 1970, 1:00 am (cached at May 25, 2016, 10:04 pm)

Execute code after a scope finished compilation
Dist-Zilla-Plugin-CheckChangesHasContent-0.010 search.cpan.orgby David Golden at January 1, 1970, 1:00 am (cached at May 25, 2016, 10:04 pm)

Ensure Changes has content before releasing