Hi everyone!
Anyone who knows me, knows that I listen to a LOT of podcasts. In an attempt to blog more regularly, and to be able to search for things that 'I know I heard somewhere!' I'm going to try to keep track of things of interest in podcasts and blogposts that I've read. If I I can keep active enough with this, I may try rolling it up into a weekly feature!
SE-Radio #225: Monicia Beckwith on Java Garbage detection.
This episode talked about the history of java garbage collection algorithms. I found the discussion on generational garbage collection really fascinating. That was how copying young objects back and forth performs automatic compaction. You also can 'age' the data, since your program typically has two types of memory.. quickly allocated and abandoned objects and long lived objects.
There was some discussion about GC usage and optimizations, about how some systems with really tight 'worst case' latency requirements actually will have a clustered design, and take nodes offline and manually initiate their really slow, but full heap garbage collection while the other nodes are still online and accepting traffic. There were some command line flags mentioned, but I was mowing and didn't write them down, but they are useful for looking at some of the really simple information put out by the GC, and you can view them with histogram tools to analyze your usage patterns in preparation for tuning.
Things to ponder... The GC patterns are dependent on your application and it's usage patterns.. I wonder how the signature of garbage collection changes when you are using immutable data structures, and some of the other languages that run on the JVM?
Partially Derrivative: S2E8: The Love child of Princess Leia and Jabba the Hutt
They talked about using Machine Learning and Data Science to categorize StarWars spoilers and help keep people from seeing them. The persons work was made available as a chrome extension..
Also, they had a segment where they talked with Micheal Kennedy of Talk Python to me about Software Engineering tips, and he gave a discussion on Generators and Co-routines. This is a topic I've heard about, but need to get more in-depth with. I've been hearing lots of episodes talking about different functional programming techniques, and need to start seeing how I can incorporate them into some of the things I do each day.
Things to Ponder... He gave a list of languages which have concepts like generators and co-routines... Do any of the langues I use have them? How could it be applied?
Showing posts with label python. Show all posts
Showing posts with label python. Show all posts
Saturday, April 30, 2016
Labels:
GarbageCollection,
GC,
Java,
ML,
PartiallyD,
Podcast,
python,
SWE
Monday, September 7, 2015
that's yum mmmy!
Hello everyone!
I've been pretty sparse lately, and today's topic is pretty light, but Today I Learned (TIL) that puppet has a yum repository resource! While I was trying to figure out if they had a augeas lens for the type of ini file that the format is stored in, I was very happy to find a native type in base puppet!
One feature that caught my eye is that there is a value of s3_enabled...
This has me intrigued, since we are working in AWS. Does this mean that we can create a repository as flat flies in an s3 bucket?
I found this amazing article on setting up s3 based yum repos using IAM authorization...
So, does it work!?
Yes and no.... According to this Pull Request, The plugin only supports IAM Signature version 2, which is only in place for older AWS regions. Newer regions only support IAM signature version 4.. Regions like China, Frankfurt, etc.. So only certain areas will be able to use the plugin as is.
I have tried duplicating the steps of the article on both a N. Virginia and a Frankfurt instance, and everything worked correctly in N. VA, and I had the same error as the pull request (400) when trying to use both yum-s3-iam and yum-s3-plugin. I have a really rough github project here which I used to aid my setup. I had to 'yum install -y git puppet3', clone my repository, and run my init script, then run sudo puppet apply ~/s3-repo-sandbox/s3_plugin.pp to apply my changes. I had pre-setup a bucket named dawiest-repo, in which I placed a noarch repository created similar to the above article.
Assuming you can get the above plugin to work for your region..... how can you make sure your repos are set up before any packages are installed? You could directly add require parameters to each package that needs it, but it is probably better to use the 'spaceship operator' to collect all the references and create the require entries for you!
http://serverfault.com/a/461869
Also, this article give a good description of the process needed for setting up gpg keys for your repo!
I've been pretty sparse lately, and today's topic is pretty light, but Today I Learned (TIL) that puppet has a yum repository resource! While I was trying to figure out if they had a augeas lens for the type of ini file that the format is stored in, I was very happy to find a native type in base puppet!
One feature that caught my eye is that there is a value of s3_enabled...
s3_enabled
(Property: This attribute represents concrete state on the target system.)
Access the repository via S3. Valid values are: False/0/No or True/1/Yes. Set this to
absent to remove it from the file completely.
Valid values are
absent. Values can match /^(True|False|0|1|No|Yes)$/i.This has me intrigued, since we are working in AWS. Does this mean that we can create a repository as flat flies in an s3 bucket?
I found this amazing article on setting up s3 based yum repos using IAM authorization...
So, does it work!?
Yes and no.... According to this Pull Request, The plugin only supports IAM Signature version 2, which is only in place for older AWS regions. Newer regions only support IAM signature version 4.. Regions like China, Frankfurt, etc.. So only certain areas will be able to use the plugin as is.
I have tried duplicating the steps of the article on both a N. Virginia and a Frankfurt instance, and everything worked correctly in N. VA, and I had the same error as the pull request (400) when trying to use both yum-s3-iam and yum-s3-plugin. I have a really rough github project here which I used to aid my setup. I had to 'yum install -y git puppet3', clone my repository, and run my init script, then run sudo puppet apply ~/s3-repo-sandbox/s3_plugin.pp to apply my changes. I had pre-setup a bucket named dawiest-repo, in which I placed a noarch repository created similar to the above article.
Assuming you can get the above plugin to work for your region..... how can you make sure your repos are set up before any packages are installed? You could directly add require parameters to each package that needs it, but it is probably better to use the 'spaceship operator' to collect all the references and create the require entries for you!
http://serverfault.com/a/461869
Although stages can handle this and so can specific yum repo dependencies, better is to declare the relationship generically.Just putYumrepo <| |> -> Package <| provider != 'rpm' |>in your puppet manifest.node default { Yumrepo <| |> -> Package <| provider != 'rpm' |> }This makes it so that all yumrepo types will get processed before any packages that don't have 'rpm' as their provider. That latter exclusion is so that I can use the (for example) epel-release RPM package to help install the yum repo.
Also, this article give a good description of the process needed for setting up gpg keys for your repo!
Subscribe to:
Posts (Atom)