FeedCity logo

FeedCity

Ephes Blog

Not verified No WebSub updates Supports Webmention Valid

Miscellaneous things. Mostly Weeknotes and links I stumbled upon.

Public lists
HWC DUS

Ephes Blog Supports Webmention Valid

Weeknotes 2024-09-16

Weeknotes 2024-09-16 Sept. 16, 2024, Jochen Be nice to us folks who wear glasses. We paid money to see you. --BobGolen I just released a new version of kptncook because my wife's attempt...

Ephes Blog Supports Webmention Valid

Weeknotes 2024-09-09

Weeknotes 2024-09-09 Sept. 9, 2024, Jochen WHY WAS IT CALLED SINGLE-SIGN ON WHEN SIGN-ON 37 TIMES PER DAY WAS RIGHT THERE --Joe B I'm rereading Every Layout and practicing some CSS on m...

Ephes Blog Supports Webmention Valid

Weeknotes 2024-09-02

Weeknotes 2024-09-02 Sept. 2, 2024, Jochen Much of the essence of building a program is in fact the debugging of the specification. — Fred Brooks Lots of private appointments, didn't ha...

Ephes Blog Supports Webmention Valid

Weeknotes 2024-08-26

Weeknotes 2024-08-26 Aug. 26, 2024, Jochen I've never encountered your problem before, so it must be simple to solve. --Greg Wilson Dealt with a few unexpected bureaucratic challenges,...

Ephes Blog Supports Webmention Valid

Weeknotes 2024-08-19

Weeknotes 2024-08-19 Aug. 19, 2024, Jochen Technology is the art of arranging the world so we don't have to experience it. --Max Frisch Back from vacation, still catching up. Articles ...

Ephes Blog Supports Webmention Valid

Weeknotes 2024-08-12

Weeknotes 2024-08-12 Aug. 12, 2024, Jochen It has been said that the great scientific disciplines are examples of giants standing on the shoulders of other giants. It has also been said t...

Ephes Blog Supports Webmention Valid

Weeknotes 2024-08-05

Weeknotes 2024-08-05 Aug. 5, 2024, Jochen Prevent the next Crowdstrike outage! Our company offers an innovative kernel-mode agent that uses advanced cloud-delivered AI to detect EDR malfu...

Ephes Blog Supports Webmention Valid

Weeknotes 2024-07-29

Weeknotes 2024-07-29 July 29, 2024, Jochen 'If you bite it and you die it's poison, but if it bites you and you die, that's venom' #lastboost ☝️ --neingeist During the first week of our...

Ephes Blog Supports Webmention Valid

First post

First post Sept. 12, 2017, Jochen A few weeks ago, I lost my old homepage. The motherboard of the server broke and my provider said that it was so old that they couldn't find a replacemen...

Ephes Blog Supports Webmention Valid

Caddy vs. nginx

Caddy vs. nginx

, Jochen

Usually I use nginx for static files, ssl termination and as a reverse proxy before my application servers. The django cookiecutter template came with a new webserver named caddy. It's written in go and https per default. Usually you have to fiddle around with certificates and a more or less complicated nginx config, but with caddy it was surprisingly easy. The certificate came from letsencrypt and it got installed automatically. After that my site got an A on the ssllabs ssl test page without any further tweaking. Caddy might be a bit slower than nginx, but it's probably fast enough for most people and solves an annoying problem. This is really cool.

Ephes Blog Supports Webmention Valid

Responsive images

Responsive images Sept. 20, 2017, Jochen Images are a lot harder than I expected. Naively I assumed, I could just add an img-tag with the original image  and bootstrap woul...

Ephes Blog Supports Webmention Valid

RSS Feeds

RSS Feeds Sept. 20, 2017, Jochen Added rss feeds for blogs. This was a lot easier than expected since django has a syndication framework already built in. This is the complete c...

Ephes Blog Supports Webmention Valid

Added pagination

Added pagination

, Jochen

Implementing pagination was also quite easy. Since I'm using class based views, I only had to add the attribute paginated_by = 5 to my view class and this snippet to my blogpost_list.html template:

{% verbatim %}
<nav aria-label="pagination">
  <ul class="pagination">
    {% if page_obj.has_previous %}
      <li class="page-item"><a class="page-link" href="?page={{ page_obj.previous_page_number }}">previous</a><li>
    {% endif %}
    {% if page_obj.has_next %}
      <li class="page-item"><a class="page-link" href="?page={{ page_obj.next_page_number }}">next</a></li>
    {% endif %}
  </ul>
</nav>
{% endverbatim %}

Ephes Blog Supports Webmention Valid

Added rudimentary gallery support

Added rudimentary gallery support Oct. 6, 2017, Jochen Thought it would be nice to have multiple images in an entry. But then they should not all be shown in full size. So I misused the m...

Ephes Blog Supports Webmention Valid

On my way to pycon

On my way to pycon Oct. 24, 2017, Jochen Decided to join this years pycon/pydata conference in Karlsruhe. Since this was my home town for a long time, I'm looking forward to mee...

Ephes Blog Supports Webmention Valid

PyCon 2017

PyCon 2017 Oct. 30, 2017, Jochen PyCon 2017 is over now and I liked it a lot. It was a really well organized event and the talks were great. I already knew the conference location&nb...

Ephes Blog Supports Webmention Valid

Using a CDN

Using a CDN

, Jochen Today I switched from serving media files directly from s3 to cloudfront. The main reason is that s3 only supports http/1.1 while cloudfront also does http/2 which is much faster because images etc. could be downloaded in parallel.

Ephes Blog Supports Webmention Valid

Writing my own blog engine: The database model

Writing my own blog engine: The database model Nov. 5, 2017, Jochen  Since I’m writing my own blog software, I’ve thought about how to lay out the models in the database. This is the...

Ephes Blog Supports Webmention Valid

Scatter plots with density quartiles with python

Scatter plots with density quartiles with python

, Jochen The other day I saw an interesting blog post about scatter plots with density quartiles using r.

I liked the idea, but wondered whether a simple kernel density plot would have the same effect. And if not, maybe how difficult it will be to adapt the approach to python. So I created this little jupyter notebook:
function resizeIframe(obj) { obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px'; }

Ephes Blog Supports Webmention Valid

Django 3.1 Async

Django 3.1 Async Aug. 4, 2020, Jochen With version 3.1, you can finally use asynchronous views, middlewares and tests in Django. Support for async database queries will follow later. You...

Ephes Blog Supports Webmention Valid

Weeknotes 2021-06-21

Weeknotes 2021-06-21 June 21, 2021, Jochen Worked a little bit on django_fileresponse and started live streaming. Atm I stream to twitch and later upload the videos to ...

Ephes Blog Supports Webmention Valid

Weeknotes 2021-06-28

Weeknotes 2021-06-28 June 28, 2021, Jochen Work on django_fileresponse goes on and it's now in a somewhat usable state. Recorded progress in four more streams / videos. We recor...

Ephes Blog Supports Webmention Valid

Weeknotes 2021-07-05

Weeknotes 2021-07-05 July 5, 2021, Jochen Worked a little bit on documentation for django_fileresponse. Recorded development on django-cast in 5 new streams (one each weekday). ...

Ephes Blog Supports Webmention Valid

Weeknotes 2021-07-12

Weeknotes 2021-07-12 July 12, 2021, Jochen Tried to get video content to work with django-cast. Stumbled upon wagtailmedia which enables audio and video content for wagtail...

Ephes Blog Supports Webmention Valid

Weeknotes 2021-07-19

Weeknotes 2021-07-19 July 19, 2021, Jochen Recorded development progress of django-cast in 5 new streaming sessions (one only with headset and laptop). Found out that multi uplo...