"Snap is the programming language for UC Berkeley’s Beauty and Joy of Computing curriculum (BJC), which aims to bring introductory CS to a wider range of students than the typical intro to programming does. BJC is also used at the high school level, and is a curriculum for the new AP Computer Science: Principles test."
Creator does look great, but so does Interface Builder. IB has caused me to leave the computer in a state of shock from frustration, so I'll have to reserve judgement.
Performance is fairly good. I get around 5 seconds on a 4s, and about 8 on a Nexus S, though I haven't tested with recent code on the Android Phone. The only native API I've used has so far been push notifications. While there's a plugin for that, it works as a pretty thin bridge between native code, and a couple of dispatch functions that use stringByEvaluatingJavaScriptFromString. I've had to fix things, so it means having to understand Cocoa code anyway.
There are also some visual issues with the code, in that the view will save its state if the user uses a route in a view to change the current view. Normally this would help, but if it frequently updates the view changes back and then it flickers.
Overall it's ok if you really love web tech, but I'm learning native iOS development in response to my experience.
Curious to see how this works out, with JS being the native way to write applications. Been excited about the Firefox platform because of this for a while (especially for POS/embedded/tablet applications), but I'm developing a cross-platform app for both iOS and Android in Ionic, and I'm much less interested in PhoneGap now that I've actually done something with it. (I'm a big proponent of Angular at work, it's not that part.)
I think I was able to get about 40% of the way there in about five hours in Cocoa, the only real stumbling block was dealing with ViewControllers and UITableViews. Unfortunately for non-native platforms, if PhoneGap is positioned as a good starter for low-barrier apps, it doesn't bode well if a developer can go in fresh and with about the same amount of effort build one platform in whole, and about 20% of another...
The funny thing is Doctorow makes references to "just metadata" years before it became a public issue, however this goes beyond metadata, and will eventually contain facts about people, not just tangential stuff.
"This isn't P.I.I."—Personally Identifying Information, the toxic smog of the information age—"It's just metadata. So it's only slightly evil."
Management. Business Analysts. "Metawork" in the words of a coworker who used to architect BPM implementations at the parent corporation of my job. Getting consensus from possibly hundreds of stakeholders.
Generally, the disconnect is that management is under the assumption that you can manage your way to success, so they add more overhead to watch and prod at the proceedings. Development is almost always an afterthought in most business projects. The first thing they do? Get consensus, which is generally everyone putting in ideas so that they seem involved—see Atwood's Duck[1]. After you have a ton of often contradictory ideas, you need to have them prioritized. And since nobody managing the project is technical, they need to hold countless "prioritization meetings with stakeholders and implementers." Often times the meetings will grind to a standstill while process analysts and engineers argue over the wording of things. Usually the analyst will tell the engineer that the business has standardized on a set of terms, of which are not the trade names for things. Maybe everyone uses a set of terms which aren't the "correct" wording.
After things are prioritized based on the wrong criteria, they're then pushed off to an engineering group who are tasked with implementing things exactly to spec. Since the definitions are incorrect, they need to constantly circle back and check with the stakeholders to double check. Occasionally checking in will involve a "subject matter expert" who is on vacation, and the only one allowed to answer the question. (Thus stalling that item and anything depending on it.) Others will often say "it's above my paygrade" in an attempt to avoid culpability.
After the project has run long and only has a majority of the features complete, people are reassigned to other projects, and the app is sent to QA to hand-test features. Sometimes it will involve the "stakeholders" sitting in a room for days or weeks, manually clicking their way through the interface. Maybe the project is declared a boondoggle, deleted, and replaced with someone else's pet project.
At my day job we generally will bundle small procedures/scripts into a simple webapp with either flask or express.js. For our backend systems, we're looking into rundeck to allow non sudoers the ability to restart a system service. That might be potentially useful.
It seems like there might be a niche for a "Delphi for the web" stack of reusable components and standard backend systems.
From the article: "At age 18, arrest rates were 12 percent for white females and 11.8 percent and 11.9 percent for Hispanic and black females, respectively. By age 23, arrest rates were 20 percent for white females and 18 percent and 16 percent for Hispanic and black females, respectively."
You'll enjoy this paper by the Harvard Business School which pretty much destroys the concept of systemic goal setting in a business. It describes your exact situation: when people have to deal with shit goals, they figure out how work the system.
I think the general idea behind driverless cars is that they can be JIT-rented, and since Uber would have the infrastructure in place, they would be the natural market leader.
Indeed. Here's something somewhat related, from PyCon 2012. It deals with using computer vision to fire a squirt gun at squirrels. The principle is basically the same.
Great idea. There's a lot of calendar apps out there, but the data feeds powering them are the same old crap. The concept of an agent doing stuff with the app feels like 60's-ish virtual assistant futurism.
I wonder how usable an "intelligent" autonomous agent putting things on a calendar would be. (That is, to extend the generation of a calendar feed with more clever bits.) Say there was a weather component that would only schedule sunsets when the weather would be conducive for photography.
It's in the article.
"Snap is the programming language for UC Berkeley’s Beauty and Joy of Computing curriculum (BJC), which aims to bring introductory CS to a wider range of students than the typical intro to programming does. BJC is also used at the high school level, and is a curriculum for the new AP Computer Science: Principles test."