63 karma · joined January 20, 2014
> Availability and access > GPT‑5 is starting to roll out today to all Plus, Pro, Team, and Free users, with access for Enterprise and Edu coming in one week. Pro, Plus, and Team users can also start coding with GPT‑5 in the Codex CLI (opens in a new window) by signing in with ChatGPT.
It's not comprehensive documentation, it's a process of software development. Start with the most simple test first, make it green via the most simple implementation, refactor. (Red/Green/Refactor). Repeat until you can not adjust your tests/specs and implementation anymore.
Doing TDD you'll not create comprehensive documentation upfront but will switch your testing- and implementation-hat every few minutes.
1. Create new test (e.g. "spec/reproduce-bug_spec.rb")
2. Ignore it locally: `echo "spec/reproduce_bug_spec.rb" >> .git/info/exclude`
3. Run bisect (something like: `git bisect run rspec spec/reproduce-bug_spec.rb`)
If running the test gets more complex (e.g. installing dependencies as they might change travelling through history), I usually create a wrapper script (and ignore it) to bisect-run-it.
Conventional commits: https://www.conventionalcommits.org/en/v1.0.0/
git will take 3 files into consideration for "ignoring" files:
> $XDG_CONFIG_HOME/git/ignore, $GIT_DIR/info/exclude, .gitignore
How I use them:
* ~/.gitignore: stuff I want to ignore everywhere (`/myNotes`, `.DS_STORE`, ...)
* <project>/.gitignore: stuff that should be ignore for this projects and shared with others
* <project>/.git/info/exclude; stuff for this project that only I want to ignore
** this is also super useful in combination with `git-bisect`
[^1]https://github.com/RedHatInsights/compliance-backend/pull/79...
What's making a short and focussed daily synchronization meeting (aka: Daily/Standup) useful for me:
* Short and focussed, 15min max, no excuse
* Focus on impediments and try to figure out if the team can help.
* VERY short update on what I'm planning to do today (to make synergies visible)
* And the least important one I'd skip quite often: Short update on what was done yesterday. (Looks like, lot of ppl are focussing on this one)
E.g. something like:
FROM python:3.8-alpine
RUN apk add --no-cache --virtual build-dependencies gcc build-base freetype-dev libpng-dev openblas-dev && \
pip install --no-cache-dir matplotlib pandas && \
apk del build-dependencies
This way you won't keep the build dependencies in the layer and the final image.
Maybe not all of the packages are build-dependencies, but at least there is no need to keep the gcc and build-base package around.
Long story short, wrap your "pip install", "bundle install", "yarn install" around some "apk add .. && apk del" within one RUN.Yes, it would still compile for quite some time, but the final image size is not "851MB" but "489MB". Still larger than the "363MB" of the "python-slim" version. Guess "pip install" will keep some build artifacts around?
I've done this in the past. Then I started to use `git bisect` and having a red test somewhere in your commit-history is a killer for bisect. So now I tend to include both, the test and the bug-fix, within one commit.