For three days I enjoyed the Open Source Summit conference in Prague. These are some of the things I learned from attending the presentations and discussing with presenters and fellow attendees.
Focus on workflows, not technology.
because it changes.
Describe how it feels to use the software.
Openstack's identify management and service catalogue. Openstack is a Python project.
Python has a
file, same as dependency management in Maven. Otherwise,
install possibly multiple or wrong versions of transitive dependencies
Cannot know where you're going if don't measure what you're doing. We all are going to crash sometime, no matter how honest you think your software is.
A kubernetes pod is two or more containers that share an IP.
The kernel doesn't define what a container is at all. A container, something that has a pid namespace, needs an init binary. Otherwise there's no way to spawn or reap processes and reassign their children. Pid namespaces are hierarchical.
Rex-ray container storage.
Fancy files, containers
"People end up just using the same shit everywhere"
Same versions of host and container OSes." Because of breakages in kernel and user land.
We all mourn Google Reader —Novotny
First spontaneous applaus at OSS summit. People are messy.
file command has a magic file in usr share:
Open API, Swagger
Swagger can generate definition from bare JAX-RS. Has JSON schema as definition format for models.
Server less is about not caring about servers. For one off, sporadic requests. With java, you should make regular requests to keep the jvm in the lambda container warm.
Lambda doesn't have versioning of source code.
Can't access github.com, must upload zip or edit code in online editor.
Chalice, easy creation of lambdas. Lets you script uploading lambdas → integrate with your local VC.
Worth a look
Logs. Good for use known unknowns. New logging platforms like elk and dagadog are only good for known metrics.
Makes new stable release every 3 months.
spdx, describes licences of source code, possible to automate license compliance. Test cases in python to test if a build image will run at all.
cdla.io, new licences for big data.
Multi licence projects
Fossology. Not even the kernel is 100% one licence. Think of licences like an architectural property. GPL readme, remove "or later". SPDX, tool for automatically check source code.
Internet of Things - IoT
Hacking: Internet of threats. Great presentation. Live hack of toy cars demos.
Jono: We strive for acceptance. Belonging.
Form habits with repetition.
Takes 66 days to develop habits → The first two months extremely important for new employees.
No automatic thank you email.
Code of conduct
Assholes don't read code of conduct.
It's the intangible world that makes us happy.
Set several goals, your own. Not only your mentor's. Embrace the fear, laugh at your own mistakes.
perf counts various OS metrics. It found that it's much faster to
traverse a bitmap by row instead of by column!
- upspin, storage
- U-root: http://u-root.tk/
- An upcoming über-geekz alternative to Chrome Book,
NiChrome: In a nutshell, this
is a bare boned OS, running the Linux kernel and most userland
implemented in Go (except for X, browser,
sshand some other things).
Semi sync replication. At least one slave gets the write. You don't always want fully synchronous replication.
Alibaba cloud. SQL injection alarms. Cheap outside of China.
Cloud hosted databases like RDS
Many features are disabled as default. Like thread pools.
Google cloud SQL has a zone in Taiwan.
Percona has an open source monitoring tool. Can connect to RDS.
MariaDB instead of RDS
Many people run mariadb in ec2 instead of RDS.
Auto tune database
Ottertune. Auto configure a database.
Amazon pricing varies between regions.
GlusterFS, mounted, but not working. Manually remounting to get data. High CPU. Fuse driver has a limit on the number of small operations. Dependency injection in apps put stress on fs. Negative caching beneficial on anything dynamic.
MooseFS looks very promising. Reliable multi master, meta data and chunk servers, nice gui, flexible replication per directory.
BeeGFS traded performance over consistency.
OrangeFS very easy to break, no built-in redundancy, adding more nodes must stop the whole cluster.
NFS, very important to cache both hits and misses. Important to tune network card kernel settings. As well as IPv4.
Live patching the kernel
Noop markers replaced. Call redirection.
cat /proc/cmdline. Per
thread migration of new kernel. Lazy migration inside methods whose
code never exit for the runtime of the kernel. Atomic replace. Revert
preceding, stacked patches.
Talked to RedHat about KeyCloak and the request for adding SCIM support.
Open source development
Siemens focus on upstream development both for internal and external developers. It's otherwise too hard to maintain the systems, because you in effect have a fork of the software.
Testing is the only way to catch all bugs. —Linus. (as opposed to reading code ).
Start coding early
If you were ten or eleven when you started programming, you are probably a good programmer. It takes a decade to be good at something. Anything.
The streaming platform. Real time hadoop, real time analysis of data.