Skip to content

Instantly share code, notes, and snippets.

View hakanai's full-sized avatar
⚔️
Battling i16n demons

Hakanai hakanai

⚔️
Battling i16n demons
View GitHub Profile
@hakanai
hakanai / Readme.md
Created April 1, 2017 12:50
Open-JTalk setup with Miku voice samples

Open-JTalk setup with Miku voice samples

A large amount of this was taken from this guide.

Open-JTalk install

diff -ru mecab-naist-jdic-0.6.3-20100801.orig/Makefile.am mecab-naist-jdic-0.6.3-20100801/Makefile.am
--- mecab-naist-jdic-0.6.3-20100801.orig/Makefile.am 2010-07-31 15:28:40.000000000 +1000
+++ mecab-naist-jdic-0.6.3-20100801/Makefile.am 2017-04-01 22:15:44.000000000 +1100
@@ -15,11 +15,3 @@
export-package:
./upload.pl -p mecab -n @PACKAGE@ -r @VERSION@ -f @PACKAGE@-@VERSION@.tar.gz
-
-install-exec-hook:
- if ! [ -d $(DESTDIR)/etc/mecab/dic/naist-jdic ]; \
@hakanai
hakanai / weechat-output.txt
Created February 17, 2017 05:30
Slack failing at SSL?
16:24:12 team -- | gnutls: connected using 512-bit Diffie-Hellman shared secret exchange
16:24:12 team -- | gnutls: receiving 2 certificates
16:24:12 team -- | - certificate[1] info:
16:24:12 team -- | - subject `C=US,ST=California,L=San Francisco,O=Tiny Speck,CN=*.irc.slack.com', issuer `C=US,O=GeoTrust Inc.,CN=GeoTrust SSL CA - G3', RSA key 2048
| bits, signed using RSA-SHA256, activated `2015-11-25 00:00:00 UTC', expires `2017-12-02 23:59:59 UTC', SHA-1 fingerprint
| `ed4dcb04c89dc80d43e65437e7c4632dcf50ac86'
16:24:12 team -- | - certificate[2] info:
16:24:12 team -- | - subject `C=US,O=GeoTrust Inc.,CN=GeoTrust SSL CA - G3', issuer `C=US,O=GeoTrust Inc.,CN=GeoTrust Global CA', RSA key 2048 bits, signed using
| RSA-SHA256, activated `2013-11-05 21:36:50 UTC', expires `2022-05-20 21:36:50 UTC', SHA-1 fingerprint `5aeaee3f7f2a9449cebafeec68fdd184f20124a7'
16:24:12 team =!= | gnutls: peer's certificate is NOT tru
@hakanai
hakanai / 1.xml
Last active February 17, 2017 04:48
Slack failing at XMPP
<!-- Trying to list the rooms. It only shows general, even though I'm in at least one more room. -->
<iq type="get" to="conference.[team].xmpp.slack.com" id="ab52a">
<query xmlns="http://jabber.org/protocol/disco#items"/>
</iq>
<iq from="conference.[team].xmpp.slack.com" type="result" to="[user]@[team].xmpp.slack.com/bucket" id="ab52a">
<query xmlns="http://jabber.org/protocol/disco#items">
<item name="general" jid="general@conference.[team].xmpp.slack.com"/>
</query>
@hakanai
hakanai / gist:058191de1312c8dad2b6795e5c7e3c45
Created February 14, 2017 00:38
Artifactory comparison failure
2017-02-14 11:21:45,907 [http-nio-8081-exec-375] [ERROR] (o.a.r.c.e.GlobalExceptionMapper:48) - Comparison method violates its general contract!
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.util.ComparableTimSort.mergeLo(ComparableTimSort.java:744) ~[na:1.8.0_102]
at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:481) ~[na:1.8.0_102]
at java.util.ComparableTimSort.mergeCollapse(ComparableTimSort.java:406) ~[na:1.8.0_102]
at java.util.ComparableTimSort.sort(ComparableTimSort.java:213) ~[na:1.8.0_102]
at java.util.Arrays.sort(Arrays.java:1312) ~[na:1.8.0_102]
at java.util.Arrays.sort(Arrays.java:1506) ~[na:1.8.0_102]
at java.util.ArrayList.sort(ArrayList.java:1454) ~[na:1.8.0_102]
at java.util.Collections.sort(Collections.java:141) ~[na:1.8.0_102]
@hakanai
hakanai / Test.java
Last active January 1, 2017 10:42
The missing code from Jon Skeet's answer to a question on Stack Overflow which shows that once integrated into the DateTimeFormatterBuilder, a custom DateTimePrinter does not give the right result. http://stackoverflow.com/a/17236321/138513
import org.joda.time.LocalDate;
import org.joda.time.ReadablePartial;
import org.joda.time.format.DateTimeFormatterBuilder;
import java.util.Locale;
public class Test {
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer();
ReadablePartial partial = LocalDate.now();
@hakanai
hakanai / stats.txt
Last active January 7, 2017 11:41
Allocations per ~10 seconds while rendering my watch face on Android Wear
=== definitely ustwo's fault (pull request submitted) ===
331 x libcore.util.ZoneInfo 12 java.lang.Object internalClone
Mostly from:
at com.ustwo.clockwise.WatchFace.updateTimeAndInvalidate(WatchFace.java:249)
=== definitely ustwo's fault (ticket filed) ===
331 x java.util.concurrent.locks.AbstractQueuedSynchronizer$Node
From:
@hakanai
hakanai / gist:90ebac256396317fec41c5f10245c8dd
Created December 22, 2016 02:53
Doing it wrong (i.e., typical JavaScript developer skill level)
function translate(key) {
try {
var value = null;
value = eval('Translations.' + key);
_(arguments).chain().tail().each(function (arg, i) {
value = value.replace(new RegExp('\\{' + i + '\\}', 'g'), arg);
});
return value;
}
catch (e) {
// What I'd rather write:
new function() {
bind($('#<%= audit_type_id %>'),
"${val == 'audited_over' || val == 'deny_access_over'}",
$('#<%= audit_span_id %>'),
"visible");
}();
// What I end up writing:
@hakanai
hakanai / output.log
Created November 7, 2016 05:02
WTFMATE
m-matsurika:~ tester$ locale
LANG="en_AU.UTF-8"
LC_COLLATE="en_AU.UTF-8"
LC_CTYPE="en_AU.UTF-8"
LC_MESSAGES="en_AU.UTF-8"
LC_MONETARY="en_AU.UTF-8"
LC_NUMERIC="en_AU.UTF-8"
LC_TIME="en_AU.UTF-8"
LC_ALL=
m-matsurika:~ tester$ irb