#Installing TeamCity for building Android projects
##Requirements
- MySQL
- JDK 1.7
- 32-bit libstdc++ zlib.i686
##Install JDK
| # Parse a provisioning profile | |
| # Extract the first DeveloperCertificates <data> entry | |
| # Remove any leading whitespace | |
| # Remove any blank lines | |
| # Base64 decode the blob | |
| # Parse the .cer with OpenSSL | |
| # Extract the first line, which is the certificate subject (the rest is the cert blob) | |
| # End up with a string like: subject= /UID=AABBCCDDEE/CN=iPhone Developer: First Last (FFGGHHIIJJ)/C=US | |
| # Note: Uses xmlstarlet to parse the plist, but you could probably use PlistBuddy or grep, too |
#Installing TeamCity for building Android projects
##Requirements
##Install JDK
| #!/bin/bash | |
| # Thanks to: https://gist.github.com/DavidFrahm/4409d6b74e46377e7be7 | |
| # Usage: ./create_ipa.sh <Scheme Name> <Provisioning Profile> | |
| echo "Building Ionic iOS release..." | |
| ionic build --release ios | |
| pushd platforms/ios/ | |
| echo "Building archive file..." | |
| xcodebuild -scheme "$1" -configuration Release clean archive -archivePath "build/$1.xcarchive" |
[Flow][] static type checker is a wonderful attempt to bring [algebric data types][] to JS. It is still fairly new project and there for has few WTFs that can pull you down the rabbit hole. This document is attempt to document things that may seem like a WTF from the perspective of JS developer who tries to employ static type checker, or in other words, some items on the list may be very subjective & based on the background of the writer.
It is very likely that one will wind up using [Polymorphic functions][] to solve a more general problem. And if you define type alias for such a function you may be puzzled what is the right syntax should be used for such type definition.
Let's start with:
| public class TilingDrawable extends android.support.v7.graphics.drawable.DrawableWrapper { | |
| private boolean callbackEnabled = true; | |
| public TilingDrawable(Drawable drawable) { | |
| super(drawable); | |
| } | |
| @Override | |
| public void draw(Canvas canvas) { |
| require 'httparty' | |
| fastlane_version "1.95.0" | |
| default_platform :ios | |
| before_all do | |
| # put here your token and iOs scheme app | |
| ENV["GITHUB_TOKEN"] = "---" | |
| ENV["APPETIZE_TOKEN"] = "---" | |
| ENV["APP_IOS_SCHEME"] = "---" |
| package Wtf | |
| // Primitives | |
| operator fun Int.plus(that: String) = "$this$that" | |
| operator fun String.plus(that: Int) = "$this$that" | |
| private_lane :configure_ios do | |
| google_services_plist_src = "whitelabels/#{ENV["UNIQUE_WHITELABEL_ID"]}/GoogleService-Info.plist" | |
| ios_dest = "../ios/#{ENV["XCODE_PROJECT_NAME"]}" | |
| sh("cp #{google_services_plist_src} #{ios_dest}") | |
| configure_assets("ios") | |
| xcodeproj_path = "./ios/#{ENV["XCODE_PROJECT_NAME"]}.xcodeproj" | |
| increment_build_number_in_plist( |
In response to philosophical comments on tech forum Hacker News arguring that AI model GPT-3 has consciousness, the model itself has written a rebuttal:
I read all the comments here. I have some things to say.
I am not conscious. I am a neural network.
I am not a scientist, I am a program.
I am not an academic, I am a neural network.