Anyway here, it's not about competition (that's what they want you to believe it is), it's about regulations (e.g. ensure some safety rules).
980 karma · joined April 14, 2010
Looking for work (freelance, from Belgium).
I build https://refli.be on the side, and have some other projects, including e.g. https://slab-lang.org.
My GitHub profile: https://github.com/noteed/ — The one of my freelancing company: https://github.com/hypered/
[ my public key: https://keybase.io/thu; my proof: https://keybase.io/thu/sigs/JeP2OIWF199YvdBYLUCAFc-VpjpJA-XzgmwtxG85IaQ ]
Anyway here, it's not about competition (that's what they want you to believe it is), it's about regulations (e.g. ensure some safety rules).
When I started Reesd, the main reason was to be able to use (a single invokation of) scp to ship WAL segments to three different machines in different datacenters.
Actually, now that Reesd is deployed, it itself uses multiple of the above mechanisms. It ships WAL segments (exactly as a user of Reesd could do it, by uploading to a Reesd bucket), uses synchronous replication between the primary and a first standby, and asynchronous replication with a second standby. Both standby's are also configured to use WAL segments if available. Indeed, starting a standby will first use the WAL segments before connecting to the primary to begin streamming replication.
From reading the README file, it seemed to me it was only spawning a login shell process in a new container (not an existing one), and possibly resuming an existing container.
Even if you were saying that such a login shell already exists with another containerization scheme, the fact it uses Docker is relevant to those who are investing in Docker. For instance Dockersh can be configured to run the shell in a specific Docker image; that is you can re-use your existing knowlegde and tooling.
Would a burglar taken by surveillance camera be creating those circumstances ?
Clearly he's not involved in the monkey taking the pictures. He has no right to them.
This means that I can run that script more than once on my laptop and have multiple triple (`app`, `db`,` ns`) side by side without fear of crosstalking between logical groups.
Before that, I was using SkyDNS but I was not happy in having to maintain/reset the TTL.
Side note: when you use --dns on a container and commit the result to an image, that image will have the --dns value in its /etc/resolv.conf (meaning that you still have to run a DNS at that address or to provide again --dns to supply a new address).
Suggestions:
As I have installed HAProxy in a Docker container, I noticed that the dependencies for `sudo add-apt-repository` are quite numerous. Instead I created a new sources.list and added the signing key manually.
Since you use SSL, a nice addition to your configuration is to redirect non-ssl trafic:
redirect scheme https code 301 if !{ ssl_fc }
Examples on the web leave out the `code 301` (the default is 302).Finally I had to try a few different ways to get my certificate and key to work with HAProxy. The order in my case was certificate, private key, intermediate, root ca (concatenated in a single file).
I am willing to create a startup on which I'm working in my free time (I need a day job to pay the bills) and personal elements made my life a bit more complicated than necessary financially-wise and I couldn't afford a trip abroad right now.
Beside, the redirect or a gentle message would be cheaper than serving evil.js and evil.css.
The approach is taken from a blog post where Open vSwitch was used instead of Tinc: http://goldmann.pl/blog/2014/01/21/connecting-docker-contain...
I really like this approach: I run a SkyDNS per group of containers. That DNS is used in `docker run --dns`. Containers can then look up services naturally (via DNS) and those services can actually be running on different machines. Those containers can be running on my laptop or multiple machines across multiple datacenters and there's no difference to them.
I am a capable Haskell and Python developer. To get a feel of what I can do:
My side project is Reesd, a redundant storage service for developers. It is made of:
- Several Docker containers (linked together on multiple machines through Tinc),
- Web frontend,
- SCP reimplementation with account permissions,
bucket plan limits, and on-the-fly SHA1 check,
- Redundant backend store,
- PostgreSQL synchronous replication + WAL archiving (using scp@reesd itself),
- Background jobs to check files SHA1 to detect early corruption,
- Payment done through Stripe,
- Nginx and HAProxy,
- Email through mandrill.
To read more about it: http://hypered.io/blog/2014-02-17-building-reesdVo Minh Thu
Reesd: https://reesd.com
Email: noteed at gmail.com
GitHub: https://github.com/noteed
Twitter: https://twitter.com/noteed
LinkedIn: http://be.linkedin.com/in/vominhthu
The note about overloading the comma operator remembers me the idea that monads (and the do notation) gives us a programmable semicolon.
Here's an example of a fun variant of the idea where something that looks like BASIC is embedded in Haskell: http://augustss.blogspot.be/2009/02/more-basic-not-that-anyb...
The same author also made bindings to LLVM that still is in the same realm.
The irony would be that by trying to reduce its reliance on Google he would actually make it more important. That's not the case, even if the 503 was really caused by him not using Google Analytics (I wonder how) or Google CDN.
Reading the usesthis page, I was intrigued by the fact the author uses Windows. Actually he tweeted about switching to Linux a few days ago: https://twitter.com/TempleOS/status/461423615582298112
I find also interesting that someone writing an OS is prevented running it natively by Secure-Boot.
The feature sets/usage sweet points of OS-level package managers, language-specific package managers, VMs, containers, distinct/same hosts, ... are both overlapping and different enough that you need judgement to choose which one you want, but they are certainly not exclusive.
If your use case means you prefer VMs over containers and you don't need to combine them, fine, but every situation is different.
Page Rank is a neat idea, but making everyone listening to Google so that Page Rank remains meaningful is stupid. What do you do if suddenly Google thinks Twitter or Facebook are to be considered spammy link farms (which would be true) ? Do you ask everyon to delete their tweets linking to you ?
Again how is "the whole purity thing" an overhead w.r.t. to learning the fundamentals ?
If you take your loop example in Python, how does leaking the `i` variable outside the loop's scope (actually there is no such scope) a fundamental that beginners need to grasp ?
What would you say about `map f [0..2]` ?
So Python makes a lot of things easier than in C or in Java I get it. That in itself is not an argument for teaching it instead of, say, Haskell.
If you can choose between A, B, ... Z, sure it is better to use B if it is better than A, but not choosing F because you never use it is a wrong reason (at least if your goal is to teach students).