- Shift + tab + tab
- Use “opus” for planning and Sonnet for everything else, /model
TL;DR: We're witnessing the end of graphical user interfaces. AI agents like Claude Code are eliminating the need for windows, menus, and clicks, replacing them with natural language. The computer is finally learning to speak human, not the other way around.
Last week, I realized something profound: I haven't opened Finder in months. Not once.
| Aerobase | Keycloak | WSO2 Identity Server | Gluu | CAS | OpenAM | Shibboleth IdP | |
|---|---|---|---|---|---|---|---|
| OpenID Connect/OAuth support | yes | yes | yes | yes | yes | yes | third-party |
| Multi-factor authentication | yes | yes | yes | yes | yes | yes | yes |
| Admin UI | yes | yes | yes | yes | yes | yes | no |
| OpenJDK support | yes | yes | yes | yes | no | ||
| Identity brokering | yes | yes | yes | ||||
| Middleware | NGINX, Wildfly | Wildfly, JBOSS | WSO2 Carbon | Jetty, Apache HTTPD | any Java app server | any Java app server | Jetty, Tomc |
| # Alias for Windows folder | |
| alias winhome="cd /mnt/c/Users/wesolowski/Desktop/" | |
| alias work="cd ~/workspace" | |
| alias workspace=work | |
| alias nexus="cd ~/workspace/nexus" | |
| phpunit() { |
Sometimes you may want to undo a whole commit with all changes. Instead of going through all the changes manually, you can simply tell git to revert a commit, which does not even have to be the last one. Reverting a commit means to create a new commit that undoes all changes that were made in the bad commit. Just like above, the bad commit remains there, but it no longer affects the the current master and any future commits on top of it.
git revert {commit_id}
Deleting the last commit is the easiest case. Let's say we have a remote origin with branch master that currently points to commit dd61ab32. We want to remove the top commit. Translated to git terminology, we want to force the master branch of the origin remote repository to the parent of dd61ab32:
| <?php | |
| class EmailTestCase extends PHPUnit_Framework_TestCase { | |
| /** | |
| * @var \Guzzle\Http\Client | |
| */ | |
| private $mailcatcher; | |
| public function setUp() | |
| { |