#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.