Monday, November 02, 2015
by linux kernel 3.9
, SO_REUSEPORT
allows reuse a port by different process, means you can have old and new apps running on the same port. nginx already supports it: Socket Sharding in NGINX Release 1.9.1
did a little research on clojure shell, found these options:
I think using clojurescript is the way (jvm has slow startup time, no matter how you try), will try it out.
listened Ruby Rogues 231: GraphQL with Lee Byron, actually I don't like restful, so maybe graphql is the way to go.
golang doesn't look well recently (The Go community is hostile towards a Go code of conduct so the Go team reacts by suppressing public discussion about it, Why Go is a poorly designed language)
I like its simplicity, but the error handling really sucks, and most importantly there're too many libraries written by china people. I still like golang, just not coding it anymore.
Wednesday, November 04, 2015
got Let's Encrypt confirmation email for their beta program.
the setup is simple if you already have docker
on your server
from their documentation:
sudo docker run -it --rm -p 443:443 -p 80:80 --name letsencrypt \
-v "/etc/letsencrypt:/etc/letsencrypt" \
-v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
quay.io/letsencrypt/letsencrypt:latest auth
but this is not gonna work (and yes you need to let they use 80
and 443
ports)
content in this post: Beta Program Announcements is as same as the email i got, you'll need to provide the api url in order to get the valid certificate (the --server
option):
./letsencrypt-auto --agree-dev-preview --server \
https://acme-v01.api.letsencrypt.org/directory certonly
so this line will work
sudo docker run -it --rm -p 443:443 -p 80:80 --name letsencrypt \
-v "/etc/letsencrypt:/etc/letsencrypt" \
-v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
quay.io/letsencrypt/letsencrypt:latest --server \
https://acme-v01.api.letsencrypt.org/directory certonly
also make sure your server using TLS 1.2
, chrome shows certificate is untrust when i use TLS 1
Thursday, November 05, 2015
a simple way to generate password:
openssl rand -base64 32
Sunday, November 08, 2015
almost forgot Strange Loop 2015 on YouTube
few projects that look interesting:
upgraded to Docker 1.9, however, don't have to time to play with swarm yet. let's see who will be the winner (mesos kubernetes serf or swarm)
boot supports dependencies in one script and shebang, sounds like it's perfect for shell scripting, but the startup speed is way slower than
#!/bin/sh
exec java -jar clojure-1.7.0.jar "$@"
will give Pallet a try
Wednesday, November 11, 2015
few new podcasts that i'd subscribed:
- ProfessionalVMware — How Many Turtles Can You Fit On A Rock?
- Cloud Computing Weekly Podcast
- Packet Pushers - Datanauts
- The Datacenter Show
- Software Engineering Daily
- Immutable
- DevOps Days Podcast
when working on aws, there're many tiny little things you'll need to be aware of, for example:
- AWS Tips I Wish I'd Known Before I Started, discussion on HackerNews and reddit
- Private subnets are broken on AWS
- Amazon Linux: Where is the swap partition?
Thursday, November 19, 2015
reading Clojure for the Brave and True, so far the best book i've read in 2015.
from my tweets:
read it from here, instead of
{:user {:plugins [[cider/cider-nrepl "0.9.1"]]}}
put it to the repl
profile:
{:repl {:plugins [[cider/cider-nrepl "0.9.1"]]}}
non-repl lein
tasks' startup time will be shorter.
and finally see a attractive HA solution for postgresql.
re-install f.lux (on linux using Redshift), however, it could be done by sct - set color temperature.
Netflix has a new continuous delivery tool: Spinnaker, but i'm more interested in their previous deployment tool: Asgard.
from Entire Netflix's Stack, noticed few nice tools/services:
- netflix/dynomite: distributed dynamo layer for different storage engines and protocols
- sumo logic: log management
- TrueSight Pulse (Boundary) Monitoring: monitoring
- LogicMonitor: monitoring
- onelogin: identity management
- BIRD Internet Routing Daemon: dynamic ip routing daemon
What Is New on ThoughtWorks Radar Nov 2015 is quite interesting, never heard of some of tools it mentions.
Oden is a lisp-like language which compiling to golang, i hope it will become popular, i really like go's no-dependency binary.
presentation from GOTO Copenhagen 2015, this conference has some pretty good topics.
golang is six years old, i still don't think i will pick it up again.
and finally some http2 resources:
- High Performance Browser Networking Chapter 12. HTTP/2
- 7 Tips for Faster HTTP/2 Performance
- How To Optimize Nginx Configuration for HTTP/2 TLS (SSL)
Friday, November 20, 2015
when using puppet to install packages, some packages require user input. there is a way to prepare answers: Preseed
first install debconf-utils
, then install the package manually, select/input the required infomation, use debconf-get-selections | grep [package]
to get the config and save to a file.
in puppet set responsefile attribute to the preseed file saved above.
for converting ebooks under ubuntu, install calibre
then perform ebook-convert origin.epub output.pdf
.
to package gradle project into one jar, use shadow plugin.
from this stackoverflow thread: Idiomatic config managment in clojure?, learned clojure.edn
.
Thursday, November 26, 2015
listened to lastest episode of Arrested DevOps: What Is New At Puppet? With Eric Sorenson , pretty good, few notes from the show:
- PuppetConf 2015 Videos and Presentations
- use puppet resource to get puppet code from a running server, easy to put configs back to code.
- (maybe a good idea) websocket as server-client commuication protocol
- More Dynamic Configuration with Puppet and Consul
reading The Performance of Open Source Applications, found these interesting chrome tools:
chrome://net-internals
chrome://cache
chrome://predictors/
not listened yet: FLOSS Weekly 364 Caddy, but Caddy looks interesting.
Amazon Aurora - Looking Deeper is a nice article about Aurora.
How to boot Linux in one second (pdf), pretty low level, but worth reading.
Blog Archive
- Newer Entries
- 2015 December
- 2016 January
- 2016 February
- 2016 March
- 2016 April
- 2016 May
- 2016 June
- 2016 July
- 2016 August
- 2016 September
- 2016 October
- 2016 November
- 2016 December
- 2017 January
- 2017 February
- 2017 March
- 2017 April
- 2017 May
- 2017 June
- 2017 July
- 2017 August
- 2017 September
- 2017 October
- 2017 November
- 2017 December
- 2018 January
- 2018 February
- 2018 March
- 2018 April
- 2018 May
- 2018 June
- 2018 July
- 2018 August
- 2018 September
- 2018 October
- 2018 November
- 2018 December
- 2019 January
- 2019 February
- 2019 March
- 2019 April
- 2019 May
- 2019 July
- 2019 October
- 2019 November
- 2019 December
- 2020 August
- 2020 September
- 2020 October
- 2020 November
- 2020 December
- 2021 January
- 2021 February
- 2021 March
- 2021 April
- 2021 May
- 2021 June
- 2021 August
- 2021 September
- 2021 December
- 2022 March
- 2022 April
- 2022 May
- 2022 June
- 2022 July
- 2022 August
- 2022 September
- 2022 October
- 2022 November
- 2022 December
- 2023 January
- 2023 February
- 2023 March
- 2023 April
- 2023 July
- 2023 August
- 2023 September
- 2023 October
- 2023 November
- 2023 December
- 2024 January
- 2024 February
- 2024 March
- 2024 April
- 2024 May
- 2024 June
- 2024 August
- 2024 September
- 2024 October
- 2024 November
- Older Entries
- 2015 October
- 2015 September
- 2015 August
- 2015 July
- 2015 June
- 2015 May
- 2015 April
- 2015 March
- 2015 February
- 2015 January
- 2014 December
- 2014 November
- 2014 October
- 2014 September
- 2014 August
- 2014 March
- 2014 February
- 2014 January
- 2013 December
- 2013 October
- 2013 July
- 2013 June
- 2013 May
- 2013 March
- 2013 February
- 2013 January
- 2012 December
- 2012 November
- 2012 October
- 2012 September
- 2012 August