Some Xcode 11 iOS project templates aren’t iOS 12 compatible out of the box, but it’s relatively easy to make them work, here’s how:
Select File > New… > Project…
Select iOS and “Single View App” template, for example.
Give the app a name, Swift, and be sure to select “Storyboard”, not “SwiftUI” (which needs some View and some requires iOS 13 according to the error message from Xcode), then select the “Next” to create the project.
Select “AppDelegate.swift” and add @available(iOS 13, *) on the line above each of the func definitions in the “UISceneSession Lifecycle”
Add an implementation of the window property inside the AppDelegate class like so: var window: UIWindow?
Open “SceneDelegate.swift” and add @available(iOS 13, *) on the line above class SceneDelegate
Select the project file in the Project Navigator to edit project settings and select the Project in the left pane of the editor
In the “Info” tab, change the “iOS Deployment Target” at the top of the right pane to the appropriate 12.x deployment target for your project.
Build and Run. Good to go!
I’ve posted the two edited source files in a gist here
Many large companies seem to waste an astonishing amount of developer productivity. So rather than saying they need more developers, these CEOs might start by fixing their current planning, processes, and methods of working.
Canceled projects/features, mismanaged and/or badly planned projects, developer time wasted in meetings they don’t need to be in or badly run meetings, stupid territorial struggles between upper managers, endless re-organizations, etc. etc.
These kind of things all makes developers less efficient which decreases their job satisfaction and makes them less likely to stick around.
Small companies do much much less of this because they simply can’t afford such waste.
One easy test:
If your company has meetings without clear agendas provided >24hrs in advance of the meeting, and shared post-meeting minutes, then you’re likely wasting developer time. A developer can’t know if they need to attend a meeting if they don’t know what it’s about (agenda) or if they feel like they have to be present to know what’s going on (lack of post-meeting minutes).
Attach an agenda to the meeting invite (>24hrs in advance!) and add only those developers (or anyone else for that matter) who you *must* have in the meeting to the TO/required list. Add anyone else who you want to inform about the meeting and what it’s about to the CC/optional list. Before you send the invite, do any pre-meeting work you can that will enable you to move developers (or anyone else) from the TO/required list to the CC/optional list; use email (don’t interrupt developers!) to ask those two questions you need to ask them before the meeting, for example.
Got really tired for seeing the SPOD (Spinning Pizza of Death) in the Finder while trying to navigate in the folder hierarchy. Happens off and on every 30 seconds or so. Finally tracked it down to something dumb that Dropbox’s contextual menu code is doing (version 2.10.41).
It’s a bit of a pain to remove but here’s what you need to know:
is where the nasty is. Contents:
The “###” is the user id number of the current OS X user (probably 501, 502, etc).
You need to move the “DropboxHelperInstaller” out of this folder or it’ll just keep re-installing the other stuff. I didn’t track down which of the two bundles are causing the problem, but it’s one of the “FinderLoadBundle”, or “DropboxBundle.bundle”. I removed both of these and the “mach_inject_bundle_stub.bundle” and that seems to solve the problem (after you quit Dropbox and relaunch the Finder).
Unfortunately Dropbox really wants to repair itself so it will keep prompting you every time it launches to put these back:
Just select “Cancel” and it won’t be able to put these buggy files back. Everything except the Finder integration seems to work fine and the Finder doesn’t keep dying inside dropbox contextual menu code for some indeterminate (but too long) amount of time. I’ve told them on Twitter but they haven’t fixed this yet
UPDATE: As of Dropbox v2.10.52, and only when running on OS X 10.10.1, there’s a checkbox for “Enable Finder Integration” that might turn this stuff off more easily. I haven’t tried it yet, but I’m hopeful.
Trinkets – the roguelike game I’ve spent the past week creating for the 7DRL competition – is finished, about 20 hours before the deadline! It’s a game about wandering an extra dimensional vault, acquiring trinkets and trying to get back home.
A build for mac is available here. Unfortunately, there’s no windows/linux build, but if you’re on one of those operating systems and want to play, the source is available here.
My high score is 59 – can you beat it? If so, let me know in the comments below!
One day remains, and I’m actually almost done. It would be nice to redo the map generator, and game balance can always be tweaked some more, but the plot and endgame are implemented, the boss-fights are done with basic AI, and there’s even a score feature. Shown below is the second of four boss fights:
Today was very productive; I finished the procedural generation of trinkets (for now, at least), improved the magic system, procedurally generated strangely worded descriptions of said trinkets, added new effects including knock-back and circular slide, and added all of the non-boss enemies, including the Abberant visible below:
Shown above is the non-procedurally-generated description of one of the coolest shoe types in the game (thus far, at least). These shoes allow you to run along walls, moving faster than enemies or even jumping over them.
I still have two more days left to go, and quite a bit still to do, including:
So, I’m about halfway through the week, but days 2-4 were all mostly occupied by other things, so the real productivity is just beginning. I’ve reworked the combat system to use the same generalized targeting/effect model as the spells. I’ve also changed trinket abilities to work on that model, divided trinkets into six types (hats, orbs, wands, cloaks, weapons, and shoes), which can be equipped and used for various nefarious purposes. I’ve started work on the procedural generation of trinkets, but there’s still a lot to do on that front, which will occupy the next day and a half, leaving me with a day and a half for enemies, plot, game balance, and a dungeon generator that isn’t stolen from the libtcod tutorial. That’s plenty of time, right?
This year I’m participating in the Seven Day Roguelike Competition, a contest to make a game in the roguelike genre in a week. (For those not familiar with it, roguelikes tend to be dungeon-crawlers with procedurally generated words, permanent character death, and often old-school graphics. There are frequently some variations from this rough description.)
I’m making a game known as ‘Trinkets’ until I think of a better name. It is a game in which a wizard strapped for cash loots a pocket dimension, and everything goes horribly wrong. It will experiment with a nontraditional power progression; you become weaker, then strong again, rather than a constant power level or steady increase. There will be a plot and randomly generated Trinkets.
My time will be somewhat limited, as I am currently a college student, but after spending most of today programming I produced the following:
I’ve used some code from some past projects, specifically most of the data structures and UI code. I’m using python, with the libtcod library.
…on a procedurally generated map…
…and hit things…
…which hit you back, and can kill you if you’re not careful.
Look for trinkets…
…which have magic powers…
…which are simply not as powerful (at least for now) as your spells.
Speaking of spells, you have five (and will have six), which in combination make you nearly unstoppable…
…at least until I implement the ‘everything goes horribly wrong’ part.
Late one night back in March I tried out a cloud-based editing platform that Nathan Kontny is putting together called Draft. It’s designed to save various drafts of your writing and to facilitate getting feedback from others as you write. I sat down and wrote one short thing and then didn’t get back to it (we packed up our farm and moved so Geek could go to college but still live at home (he’s 16) and I didn’t have time).
Today Nathan sent an email about some neat new features which prompted me to go take another look. WOW! He’s added a ton of interesting capabilities. Anyway, I realized I hadn’t published the thing I wrote and while it started out as a “blank page! Yikes!” it did document some of what was happening then and some of my thoughts about the 1% (big in the news at the time) and the challenging economic times. Since Draft doesn’t have a feature to host finished work (turns out it does: Draft Sites) I thought I’d put it here so I don’t forget it:
So, it begins. Once again all thought stops when faced with a blank page. An open window through which only air and the sounds carried upon it pass. And light. And smells. Fresh spring smells and sounds.
Where exactly to begin? Do we start with the falling apart of the social fabric? Or maybe the seeming inability of a large percentage of the super wealthy to see that sucking all the money out of an economy is like sucking all the air out of a sealed space. A fatal result for those on the inside in both cases. Even good people get desperate when they can’t breath. Or don’t have enough food to feed their children.
Sent money today to a friend who’s regular weekly music gig got cancelled for good after twice being cancelled “just this weekend.” As a result he doesn’t have enough money for food despite living on bags of potatoes from CostCo which he adorns with left-over condiments from his friend who cleans vacation rentals. Said he saw a rat in his kitchen the other night and wonders if country rats carry much disease. “As a buddhist I don’t want to kill it but I’m a little scared it might carry disease and I can’t afford a visit to a doctor…” he told me.
Time to sleep so I can earn more money tomorrow. Might get a call from another friend in need.
By the way, Nathan has a lot of great stuff on his blog about all kinds of things. I especially liked: