2011.08.02 in #2Event Loops are better than while
fREW Schmidt gives an example how a simple while loop was replaced with an AnyEvent loop for better stability and eventually easier development.
2011.08.24 in #5Refactoring Dispatch Tables into Objects
fREW Schmidt gives a nice and simple example on how to use simple dispatch tables. Then he goes on and shows how the same idea can be applied to methods of classes.
2012.03.06 in #33The Rise and Fall of Event Loops (in one very small place of my code)
fREW Schmidt describes his adventure into using POE for event loops just to find out that in his use case he does not really need those event loops. It is nice to see the code snippets for both his original attempt and the solution he ended up using.
2012.05.15 in #43Using search.cpan.org AND metacpan
fREW Schmidt created a greasemonkey/dotjs script and visit search.cpan.org . Run a search there. The results will link to MetaCPAN.
2012.05.21 in #44Introducing Catalyst::Controller::Accessors
fREW Schmidt has a few relatively new modules he is planning to describe, the first one being Catalyst::Controller::Accessors. First he shows the full version of his code using Catalyst chaining and then shows how using Catalyst::Controller::Accessors can eliminate some of code repetition, turning them into declarations.
2012.06.04 in #46Introducing DBIx::Class::Helper::Schema::LintContents
How do you add primary, unique, and foreign key constraints to an existing database if you don't have direct access to it? As in the case of an application installed at clients. fREW Schmidt has the answer.
2012.06.06 in #46DBIx::Class::DeploymentHandler + Backups
fREW Schmidt is explaining how they used to do application deployment and database upgrade which promped him to the creation of the module. Then he starts showing use cases of the modules. The first one is backing up the data.
2012.09.03 in #59Hash your passwords!
fREW Schmidt is back with a new security related article with lots of code examples. If you are running any application in which you need to store passwords, fREW gives you an example how to do it in a way that is a lot more secure than some of the (recently cracked) major web-sites did.
2012.09.10 in #60Announcing DBIx::Class::MaterializedPath
When you are not using PostgreSQL, and you still would like to store tree-like data in a table, fREW Schmidt has the solution. Currently, it only works on perl 5.16 as it uses some of the new features there. I am sure it can be worked around, but this might help people understand how upgrades save time and money.
2013.01.05 in #76Abstraction Levels
How do you decide on the abstraction level when you design your API? fREW Schmidt asked. Do you let people override your methods or do you just create functions? When do you need to allow sub-classing and when is that an overkill?
2013.07.27 in #105Event Loops: Useful After All
Event-based programming is prone to induce headaches. But in some cases, if used in the right manner it can provide tremendously simple solutions to tricky problems, as fREW Schmidt shows us.
2014.07.17 in #156A Gentle TLS Intro for Perlers
Security is hard. An absolute requirement in this bold new world, but, yeah, it's hard. Fortunately, fREW Schmidt provides us here a nice, gentle introduction to TLS.
2015.01.25 in #183Asynchronous Musings
Could have been called "Embrassing the Future(s)", as fREW leverages these constructs for asynchronous programming.
2015.01.28 in #184Docker: first impressions
Frew shares his experiences and thoughts using Docker for deployment, having used it for testing for nearly a year. I've no experience with Docker, ******************************[1]: you'll just have to decide for yourself.
2015.02.19 in #187Configuration Station
Frew shows how his thoughts on handling configuration has evolved via various technologies, to his latest approach.
2015.03.02 in #188Configuration Station
fREW plays with a new Proof::ConfigLoader, which aims at being light on the syntax overhead while allowing overriding via environment variables.
2015.03.04 in #189Fear and Loathing in SQL-92
A war story used to illustrate a point, with some good tips and thoughts thrown in. For example, do you use, or are you aware of the fc function (introduced in 5.16)? A good rule of thumb: "you should not emulate, imitate, or otherwise do the job of the database".
2015.03.27 in #192Faster DBIC Schemata
Frew shares some tips on how to get DBIC schema to load faster.
2015.07.30 in #210CPAN Patch workflow
Patching modules is usually quick and easy. It's the mundane steps of repository cloning, git juggling and Pull Request crafting that usually take longer. fREW uses a mix of git-cpan, git-hub and fugitive.vim to smooth out that overhead.
2015.08.03 in #211Perl ❤ Kickstarter
Frew wrote a wee script using WWW::Kickstarter to watch a kickstarter project and let him know when an early bird offer came available (because an existing backer had cancelled).
2015.08.11 in #212CPAN Patch Workflow II
Now that his patches have been accepted into Git-CPAN-Patch, fREW shows how 'git cpan send-email' can be used to send PRs via RT.
2015.11.25 in #227PID Namespaces in Linux
How to manage all your child processes, when your children kick off processes, and they in turn might kick some off. Frew presents two of the ways you can ensure that all of your descendent processes get cleaned up, and Tim Bunce pointed out another one in the comments.
2016.03.23 in #244DBI Logging and Profiling
Using a database interface without knowing how to profile it is like knowing how to eat, but without being acquainted to the concept of napkin -- you can only go so far before it becomes socially awkward.
2016.10.14 in #273Linux Clocks
Frew shows how he improved the logging of CPU usage at ZipRecruiter.
2017.02.27 in #293The fREW Schmidt Interview Experience
Frew shares his thoughts on interviewing developers, based on his experience interviewing candidates for ZipRecruiter. As he says, ultimately interviewing is really hard.
2017.07.12 in #312The Read Write Splitter at ZipRecruiter
A Read Write Splitter is an embedded proxy-like piece of code that can be used for database systems where you have a master server for write operations, and several copies of it for read operations. The Read Write splitter, as part of your Perl process, would automatically execute the write operations (INSERT, UPDATE, DELETE) on the master server and would direct the read operations (SELECT) to one of the copies
2017.07.31 in #315Supervisors and Init Systems: Part 6 and 7
Frew seems to be really persistent with this series. If you have missed the earlier once and especially if you don't know what is a Supervisor, start with part 1 and the check out the list of episodes.
2018.01.02 in #337A Love Letter to Plain Text
If you have text files in any text-like format, there are plenty of command line tools to munge them. Even to convert them into an in-memory database to be able to query the data.
2018.02. in #345Full Disk, What's Next?
A mix of Shell and Perl code to find the big files that take up a lot of disk space.
2018.05.01 in #354C, Golang, Perl, and Unix
An excellent look into what fork() and exec() do, What are STDIN, STDOUT, and STDERR. Some exploitation ideas and some bizarre bugs.
2019.01.28 in #393Full Text Search for ebooks
Frew took all of his eBooks, converted them to plain text files using Calibre, then loaded the text into an SQLite database in just 7 seconds and voila. He has a full-text search of all of his books.
2019.01.30 in #393Deploying to Kubernetes at ZipRecruiter
Describing a bunch of tools created at ZR and the process for getting an app deployed. There is nothing Perl-specific in this, but it can be very much relevant to anyone doing DevOps related tasks.
2019.02.11 in #395graphviz describing multi-stage docker builds
An excellent and simple example (aren't those synonyms ?) on how to draw a simple DAG (Directed acyclic graph) to make hierarchy easier to grasp. It is also a 15 line long one-liner.
2020.01.04 in #441Goals for 2020
Frew does not seem to deal with Perl any more, but it is still interesting to see what personal goals he had last year and how he faired with his goals. It puts you in some perspective.
2020.01.27 in #445Weird Hobby: Scraped Git Histories
It is scraping web sites and then keeping the downloaded files in a git repository. The next thing you notice Frew is creating an Archive. AKA Wayback machine.