S Link
Learn to speak confidently and catapult your career in Femgineer's Confident Communicator Course
The only 8-week live, interactive online course thatβll take your communication skills from OK to AWESOME. Say goodbye to intimidation and hello to the power of your own voice. It is THE course for learning how to communicate confidently in a number of contexts: one-on-one, in teams, in front of stakeholders, or before a larger audience.
The course will give you the skills you need to:
- Excel in customer meetings
- Nail job interviews
- Pitch new projects
- Push back when you donβt agree
- Provide caring and compassionate feedback to teammates
- Give memorable, effective presentations
Even if you consider yourself shy or introverted, or usually get nervous and anxious in such situations, youβll gain the skills you need for effective communication.
We've put together a brochure you can share with your boss and use to get them to sponsor your participation in the course. Click here to view and download the brochure. The deadline to register is Friday April 29, 2016, and we only teach this course once a year!
Buddybuild: Continuous integration & delivery made easy!
Buddybuild is the only mobile continuous integration and delivery platform that takes just minutes to set up. With every code change, buddybuild will kick off a new build, run any tests for your app and automatically deploy to your testers. Then, with a simple screenshot, users can send their feedback along with diagnostic details to help resolve issues. Stop cobbling together and maintaining disparate mobile development systems. Start focusing on what you do best: creating apps people love π
Swift Around the Web
Introducing GPUImage 2, redesigned in Swift
From @clattner_llvm: "A great & detailed example of how powerful abstractions in Swift allow getting the job done with 1/3 the code!"
My favorite part of this is @bradlarson's long-term vision of making his library available on Linux and other platforms, and using Swift to start making it happen on Raspberry Pi already!
Sequences and Genarators
This post made me think of watchOS Complications. One of the complicated part of complications is storing your data in a way to make it fit into a sequential calendar scheme. In Apple's WWDC ClockKit video, they solve this by making the model object know about the next one. I didn't like this, so I used an array to order my data and added an index property to my model. But making a sequence generator makes a lot of sense.
Since I'm not used to using SequenceType
or GeneratorType
and it was super hard to use the one time I tried it, it's not one of my go-to's when coding. I'll need to keep it in mind more!
"
SequenceType
andGeneratorType
are one of the most used protocols (even if you donβt see it). It is also correct and elegant solution for dealing with difficult data collections generating and iterating."
Coding
SOLID Principles: Open/Closed Principle, by Donn Felker
Ok... so this is written for Android π± But replace "interface" with "protocol" and it's an amazing and super simple explanation of how to use protocol-oriented programming for a super clean and powerful architecture.
Other Cool Stuff
Real Photohoshop Eyedropper Tool
Wow! This takes drawing to a whole new level. Magic π« More here!
Videos
Blending Cultures, with Daniel Steinberg
A very elegant try! Swift talk on how to take advantage of the best from Object-Oriented, Functional, and Protocol-Oriented programming disciplines to write beautiful, very reusable, and robust Swift code. Isolate the code that changes from the code that doesn't change. Must watch!
Real World Mocking in Swift, with Veronica Ray
A avery clear and concise overview of testing in general and specifically for Swift, like what to do without OCMock π Since try! Swift talks were simultaneously translated to Japanese, the talk is a bit slow, so I recommend watching it at 1.5x speed π
Swift Evolution
Triassic Park: The Swift Evolution
Generic Type Aliases are implemented in Swift 3.0! Examples:
typealias StringDictionary<T> = Dictionary<String, T>
typealias IntFunction<T> = (T) -> Int
typealias Vec3<T> = (T, T, T)
typealias BackwardTriple<T1,T2,T3> = (T3, T2, T1)
Also, much nicer #selector syntax for getters and setters is set to go:
let firstNameGetter = #selector(getter: Person.firstName)
let firstNameSetter = #selector(setter: Person.firstName)
And other cool stuff! Make sure to take a look π
Sensible Cocoa and Cocoa Touch Defaults
Values that are usually used as defaults in Cocoa and CocoaTouch APIs will have default values. So for example...
button.setTitle("Hello", forState: .Normal)
// could be called like this
button.setTitle("Hello")
dismissViewControllerAnimated(flag: true, completion: nil)
// could be called like this
dismiss()
Check out the full gist of examples here!
Functional Voodoo
Coding as writing paragraphs
I agree that using a library like RxSwift is a HUGE dependency to add to a big production app (not to mention that any developer that comes on will have to learn it!), but I still want to learn it because it has good ideas there that I'm sure could be applied to regular code. So I think I'll definitely use RxSwift for a smaller fun side-project in the future. Great discussion overall!
Swift Code
- swift-project1 - Technical exercise to evaluate Swift as a systems programming language
- DisplaySwitcher - Custom transition between two collection view layouts
- TextAttributes - An easier way to compose attributed strings
- Pulsator - Pulse animation for iOS
- BCColor - A lightweight but powerful color kit (Swift)
- DynamicButton - Yet another animated flat buttons in Swift
Other Platforms
Swift Thoughts
I cannot be more excited to announce another try! Swift - this time in New York City on September 1st and 2nd!!!!! For those who have already seen my announcement on Twitter, I'm thrilled to announce three additional speakers: @griotspeak, @danielpunkass, & @natashasgodwin! More awesomeness to come π
My favorite part of organizing the first try! Swift in Japan was the magical feeling of our new and growing Swift community. The cool part about Swift being so new and always changing is that we're more open-minded to learning from each other. And there is so much to learn! From so many people! In fact, all the speakers at try! Swift NYC will be different from the ones at try! Swift Japan. I really wish I could bring in even more speakers - there are just so many people I want to learn from!
So no matter what level you are at in programming, iOS, or doing Swift in particular, I hope to see you at @tryswiftnyc π€ππ