Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
Re: www: hackathons: improve table with css
To:
Jan Klemkow <jan@openbsd.org>
Cc:
tech@openbsd.org
Date:
Fri, 5 Sep 2025 11:52:57 +0100

Download raw body.

Thread
On 2025/09/05 00:00, Jan Klemkow wrote:
> Hi,
> 
> As www@ seems to be dead.  I guess this is the right list for this diff.

yes.

> The following diff improves the hackathon table for large and small
> screens.  The tiles break dynamically via CSS flex rules, which a
> supported in all browsers for many years now.  Thus, new entries don't
> have to move the tr-tags any more.  View on mobile screens is also
> improved.  So, you don't need to scroll vertically.
> 
> preview: https://klemkow.net/www/hackathons.html
> 
> ok?

looks good in w3m--image, netsurf, firefox (mobile/desktop; as you say,
mobile is much improved).

slightly worse in dillo but I don't think that is a problem.

not having to fiddle with tr tags is a big improvement.  ok sthen


> bye,
> Jan
> 
> Index: hackathons.html
> ===================================================================
> RCS file: /cvs/www/hackathons.html,v
> diff -u -p -r1.186 hackathons.html
> --- hackathons.html	3 Aug 2025 21:29:22 -0000	1.186
> +++ hackathons.html	4 Sep 2025 21:10:12 -0000
> @@ -14,20 +14,23 @@ body {
>  	max-width: 100%;
>  }
>  
> -table {
> -	width: 1080px;
> -	border-collapse: collapse;
> +#table {
> +	display: flex;
> +	flex-flow: row wrap;
>  }
>  
> -tr {
> -	vertical-align: top;
> -}
> +#table > div {
> +	width: 10cm;
> +	max-width: 100%;
> +	padding: 1em;
>  
> -td {
>  	border-top: #000 2px solid;
>  	border-bottom: #000 2px solid;
> -	padding-top: 3px;
> -	padding-bottom: 3px;
> +}
> +
> +#table img {
> +	max-width: 100%;
> +	max-height: 7cm;
>  }
>  </style>
>  
> @@ -84,9 +87,8 @@ The shirts are only given to people who 
>  worn with pride.  Every shirt contains at least one developer in-joke,
>  so don't worry if you can't understand the shirt.  Just enjoy them.
>  
> -<table>
> -<tr>
> -<td>
> +<div id="table">
> +<div>
>      <a id="l2k25" href="images/hackathons/l2k25.png">
>      <img src="images/hackathons/l2k25-s.gif" alt="l2k25"></a><br>
>      l2k25: leipzig hackathon<br>
> @@ -96,7 +98,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the assistance of <a href="https://www.genua.de">genua</a>.
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="j2k25" href="images/hackathons/j2k25.png">
>      <img src="images/hackathons/j2k25-s.gif" alt="j2k25"></a><br>
>      j2k25: japan hackathon<br>
> @@ -106,7 +109,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the assistance of Yasuoka Masahiko.
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="h2k24" href="images/hackathons/h2k24.png">
>      <img src="images/hackathons/h2k24-s.gif" alt="h2k24"></a><br>
>      h2k24: hackathon<br>
> @@ -115,8 +119,8 @@ so don't worry if you can't understand t
>      24 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      <br>
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="c2k24" href="images/hackathons/c2k24.png">
>      <img src="images/hackathons/c2k24-s.gif" alt="c2k24"></a><br>
>      c2k24: hackathon<br>
> @@ -125,7 +129,8 @@ so don't worry if you can't understand t
>      26 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="p2k24" href="images/hackathons/p2k24.png">
>      <img src="images/hackathons/p2k24-s.gif" alt="p2k24"></a><br>
>      p2k24: ports hackathon<br>
> @@ -135,7 +140,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of Stuart Henderson and <a href="https://www.cadhay.org.uk/">Cadhay</a>.
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="l2k24" href="images/hackathons/noshirt-s.gif">
>      <img src="images/hackathons/noshirt-s.gif" alt="noshirt-s"></a><br>
>      l2k24: Focused on LibreSSL<br>
> @@ -143,8 +149,8 @@ so don't worry if you can't understand t
>      Melbourne, Australia<br>
>      12 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="h2k23" href="images/hackathons/h2k23.gif">
>      <img src="images/hackathons/h2k23-s.gif" alt="h2k23"></a><br>
>      h2k23: hackathon<br>
> @@ -154,7 +160,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of University of Coimbra and the portuguese usual suspects.
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="p2k23" href="images/hackathons/p2k23.gif">
>      <img src="images/hackathons/p2k23-s.gif" alt="p2k23"></a><br>
>      p2k23: ports hackathon<br>
> @@ -165,7 +172,8 @@ so don't worry if you can't understand t
>      and <a href="https://www.ncsc.gov.ie/">NCSC Ireland</a>
>      and with the support of Tom Smyth.
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="g2k23" href="images/hackathons/noshirt-s.gif">
>      <img src="images/hackathons/noshirt-s.gif" alt="noshirt-s"></a><br>
>      g2k23: general hackathon<br>
> @@ -174,8 +182,8 @@ so don't worry if you can't understand t
>      20 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
>      <br>
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="w2k23" href="images/hackathons/w2k23.gif">
>      <img src="images/hackathons/w2k23-s.gif" alt="w2k23"></a><br>
>      w2k23: wifi nano hackathon<br>
> @@ -185,7 +193,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of Martin Pieuchot.
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="m2k23" href="images/hackathons/noshirt-s.gif">
>      <img src="images/hackathons/noshirt-s.gif" alt="noshirt-s"></a><br>
>      m2k23: mini hackathon<br>
> @@ -193,7 +202,8 @@ so don't worry if you can't understand t
>      Marrakech, Morocco<br>
>      22 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
> -<td>
> +</div>
> +<div>
>      <br><br><br>
>      <a id="h2k22" href="images/hackathons/h2k22.gif">
>      <img src="images/hackathons/h2k22-s.gif" alt="h2k22"></a><br>
> @@ -204,8 +214,8 @@ so don't worry if you can't understand t
>      22 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">OpenBSD Foundation</a>
>      and with the support of Pedro Almeida.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="g2k22" href="images/hackathons/g2k22.gif">
>      <img src="images/hackathons/g2k22-s.gif" alt="g2k22"></a><br>
>      g2k22: hackathon<br>
> @@ -214,7 +224,8 @@ so don't worry if you can't understand t
>      25 developers<br>
>      Funded by <a href="http://www.genua.de">genua</a> and the
>      <a href="https://www.openbsdfoundation.org">OpenBSD Foundation</a>.
> -<td>
> +</div>
> +<div>
>      <a id="r2k22" href="images/hackathons/r2k22.gif">
>      <img src="images/hackathons/r2k22-s.gif" alt="r2k22"></a><br>
>      r2k22: hackathon<br>
> @@ -224,7 +235,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of Stefan Sperling.
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="h2k21" href="images/hackathons/h2k21.gif">
>      <img src="images/hackathons/h2k21-s.gif" alt="h2k21"></a><br>
>      h2k21: hackathon<br>
> @@ -235,8 +247,8 @@ so don't worry if you can't understand t
>      and with the support of Pedro Almeida and the
>      <a href="https://www.cm-gouveia.pt/">Municipality of Gouveia</a>.
>      <br>
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="k2k21" href="images/hackathons/k2k21.gif">
>      <img src="images/hackathons/k2k21-s.gif" alt="k2k21"></a><br>
>      k2k21: hackathon<br>
> @@ -244,7 +256,8 @@ so don't worry if you can't understand t
>      Burg Liebenzell, Germany<br>
>      26 developers<br>
>      Funded by <a href="http://www.genua.de">genua</a>.
> -<td>
> +</div>
> +<div>
>      <a id="k2k20" href="images/hackathons/k2k20.gif">
>      <img src="images/hackathons/k2k20-s.gif" alt="k2k20"></a><br>
>      k2k20: german mini hackathon<br>
> @@ -252,7 +265,8 @@ so don't worry if you can't understand t
>      Burg Liebenzell, Germany<br>
>      14 developers<br>
>      Funded by <a href="http://www.genua.de">genua</a>.
> -<td>
> +</div>
> +<div>
>      <a id="a2k20" href="images/hackathons/a2k20.png">
>      <img src="images/hackathons/a2k20-s.png" alt="a2k20"></a><br>
>      a2k20: antipodian hackathon<br>
> @@ -261,8 +275,8 @@ so don't worry if you can't understand t
>      17 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of Ross L Richardson.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="u2k20" href="images/hackathons/u2k20.gif">
>      <img src="images/hackathons/u2k20-s.gif" alt="u2k20-s"></a><br>
>      u2k20: uckermark hackathon<br>
> @@ -271,7 +285,8 @@ so don't worry if you can't understand t
>      14 developers<br>
>      Supported by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a> and <a href="https://www.seehotel-huberhof.de">Seehotel Huberhof</a>.
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="e2k19" href="images/hackathons/e2k19.gif">
>      <img src="images/hackathons/e2k19-s.gif" alt="e2k19-s"></a><br>
>      e2k19: elk lakes cabin hackathon<br>
> @@ -280,7 +295,8 @@ so don't worry if you can't understand t
>      13 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.xplornet.ca">Xplornet</a>.
> -<td>
> +</div>
> +<div>
>      <a id="p2k19" href="images/hackathons/p2k19.gif">
>      <img src="images/hackathons/p2k19-s.gif" alt="p2k19-s"></a><br>
>      p2k19: ports hackathon<br>
> @@ -291,8 +307,8 @@ so don't worry if you can't understand t
>      and supported by <a href="http://fmi.unibuc.ro">Faculty of Mathematics and
>      Computer Science, University of Bucharest</a>.
>      <br>
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="g2k19" href="images/hackathons/g2k19.gif">
>      <img src="images/hackathons/g2k19-s.gif" alt="g2k19-s"></a><br>
>      g2k19: general hackathon<br>
> @@ -301,7 +317,8 @@ so don't worry if you can't understand t
>      43 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="t2k19" href="images/hackathons/t2k19.gif">
>      <img src="images/hackathons/t2k19-s.gif" alt="t2k19-s"></a><br>
>      t2k19: taipei mini hackathon<br>
> @@ -311,7 +328,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of Kevin Lo and <a href="http://www.funtoro.com">MSI/FUNTORO</a>
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="a2k19" href="images/hackathons/a2k19.gif">
>      <img src="images/hackathons/a2k19-s.gif" alt="a2k19-s"></a><br>
>      a2k19: antipodean mini hackathon<br>
> @@ -321,8 +339,8 @@ so don't worry if you can't understand t
>      Supported by the <a href="https://www.victoria.ac.nz">Victoria University of Wellington</a>
>      and funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
>      <br>
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="l2k18" href="images/hackathons/l2k18.jpg">
>      <img src="images/hackathons/l2k18-s.gif" alt="l2k18-s"></a><br>
>      l2k18: libressl mini hackathon<br>
> @@ -331,7 +349,8 @@ so don't worry if you can't understand t
>      5 developers<br>
>      Supported by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
>      <br>
> -<td>
> +</div>
> +<div>
>      <a id="n2k18" href="images/hackathons/n2k18.gif">
>      <img src="images/hackathons/n2k18-s.gif" alt="n2k18-s"></a><br>
>      n2k18: network hackathon<br>
> @@ -341,7 +360,8 @@ so don't worry if you can't understand t
>      Supported by Univerzita Jana Evangelisty Purkyn&#283; and
>      funded by Oracle and
>      <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
> -<td>
> +</div>
> +<div>
>      <a id="g2k18" href="images/hackathons/g2k18.gif">
>      <img src="images/hackathons/g2k18-s.gif" alt="g2k18-s"></a><br>
>      g2k18: general hackathon<br>
> @@ -350,8 +370,8 @@ so don't worry if you can't understand t
>      39 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of Mitja Mu&#382;eni&#269;.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="p2k18" href="images/hackathons/p2k18.gif">
>      <img src="images/hackathons/p2k18-s.gif" alt="p2k18-s"></a><br>
>      p2k18: ports (and pledge) hackathon<br>
> @@ -360,7 +380,8 @@ so don't worry if you can't understand t
>      24 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.epitech.eu">Epitech Nantes</a>.
> -<td>
> +</div>
> +<div>
>      <a id="a2k18" href="images/hackathons/a2k18.gif">
>      <img src="images/hackathons/a2k18-s.gif" alt="a2k18-s"></a><br>
>      a2k18: antipodean hackathon<br>
> @@ -369,7 +390,8 @@ so don't worry if you can't understand t
>      19 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.otago.ac.nz">University of Otago</a>.
> -<td>
> +</div>
> +<div>
>      <a id="s2k17" href="images/hackathons/s2k17.gif">
>      <img src="images/hackathons/s2k17-s.gif" alt="s2k17-s"></a><br>
>      s2k17: snowshoe hackathon<br>
> @@ -378,8 +400,8 @@ so don't worry if you can't understand t
>      10 developers<br>
>      Funded by <a href="http://www.foretell.ca">ForeTell Technologies</a>
>      and with the support of <a href="http://www.xplornet.ca">Xplornet</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="p2k17" href="images/hackathons/p2k17.gif">
>      <img src="images/hackathons/p2k17-s.gif" alt="p2k17-s"></a><br>
>      p2k17: ports hackathon<br>
> @@ -389,7 +411,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      with the support of <a href="http://www.in-berlin.de">IN-Berlin</a> and
>      <a href="http://www.hostserver.de/">Hostserver</a>.
> -<td>
> +</div>
> +<div>
>      <a id="t2k17" href="images/hackathons/t2k17.jpg">
>      <img src="images/hackathons/t2k17-s.gif" alt="t2k17-s"></a><br>
>      t2k17: general hackathon<br>
> @@ -398,7 +421,8 @@ so don't worry if you can't understand t
>      38 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.utoronto.ca">University of Toronto</a>.
> -<td>
> +</div>
> +<div>
>      <a id="d2k17" href="images/hackathons/d2k17.gif">
>      <img src="images/hackathons/d2k17-s.gif" alt="d2k17-s"></a><br>
>      d2k17: network mini-hackathon<br>
> @@ -407,8 +431,8 @@ so don't worry if you can't understand t
>      24 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.genua.de">genua</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="noshirt" href="images/hackathons/noshirt-s.gif">
>      <img src="images/hackathons/noshirt-s.gif" alt="noshirt-s"></a><br>
>      e2k17: nano-hackathon<br>
> @@ -416,7 +440,8 @@ so don't worry if you can't understand t
>      Edmonton, Canada<br>
>      5 developers<br>
>      With the support of Bob Beck.
> -<td>
> +</div>
> +<div>
>      <a id="a2k17" href="images/hackathons/a2k17.gif">
>      <img src="images/hackathons/a2k17-s.gif" alt="a2k17-s"></a><br>
>      a2k17: antipodean hackathon<br>
> @@ -425,7 +450,8 @@ so don't worry if you can't understand t
>      19 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of David Gwynne.
> -<td>
> +</div>
> +<div>
>      <br>
>      <br>
>      <a id="l2k16" href="images/hackathons/l2k16.gif">
> @@ -446,8 +472,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      with the help of <a href="http://www.enseeiht.fr">ENSEEIHT</a> and
>      <a href="http://www.objectif-libre.com">Objectif Libre</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="b2k16" href="images/hackathons/b2k16.gif">
>      <img src="images/hackathons/b2k16-s.gif" alt="b2k16-s"></a><br>
>      b2k16: budapest ports hackathon<br>
> @@ -455,7 +481,8 @@ so don't worry if you can't understand t
>      Budapest, Hungary<br>
>      10 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
> -<td>
> +</div>
> +<div>
>      <a id="g2k16" href="images/hackathons/g2k16.gif">
>      <img src="images/hackathons/g2k16-s.gif" alt="g2k16-s"></a><br>
>      g2k16: general hackathon<br>
> @@ -465,7 +492,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      with the help of
>      <a href="http://www.cl.cam.ac.uk">Computer Laboratory, Cambridge</a>.
> -<td>
> +</div>
> +<div>
>      <a id="n2k16" href="images/hackathons/n2k16.gif">
>      <img src="images/hackathons/n2k16-s.gif" alt="n2k16-s"></a><br>
>      n2k16: network hackathon<br>
> @@ -475,8 +503,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and <a href="http://www.oracle.com">Oracle</a>, with the help of
>      <a href="http://cuni.cz">Charles University</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="p2k16" href="images/hackathons/p2k16.gif">
>      <img src="images/hackathons/p2k16-s.gif" alt="p2k16-s"></a><br>
>      p2k16: ports hackathon<br>
> @@ -485,7 +513,8 @@ so don't worry if you can't understand t
>      22 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.epitech.eu">Epitech Nantes</a>.
> -<td>
> +</div>
> +<div>
>      <a id="n2k15" href="images/hackathons/n2k15.gif">
>      <img src="images/hackathons/n2k15-s.gif" alt="n2k15-s"></a><br>
>      n2k15: network MP hackathon<br>
> @@ -494,7 +523,8 @@ so don't worry if you can't understand t
>      19 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://esdenera.com">Esdenera Networks</a>.
> -<td>
> +</div>
> +<div>
>      <a id="u2k15" href="images/hackathons/u2k15.gif">
>      <img src="images/hackathons/u2k15-s.gif" alt="u2k15-s"></a><br>
>      u2k15: utf8 hackathon<br>
> @@ -503,8 +533,8 @@ so don't worry if you can't understand t
>      22 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.in-berlin.de">IN-Berlin</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="l2k15" href="images/hackathons/l2k15.gif">
>      <img src="images/hackathons/l2k15-s.gif" alt="l2k15-s"></a><br>
>      l2k15: libressl hackathon<br>
> @@ -513,7 +543,8 @@ so don't worry if you can't understand t
>      17 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      with help of the <a href="http://foi.unizg.hr">Open Systems and Security Lab</a>.
> -<td>
> +</div>
> +<div>
>      <a id="j2k15" href="images/hackathons/j2k15.gif">
>      <img src="images/hackathons/j2k15-s.gif" alt="j2k15-s"></a><br>
>      j2k15: uefi hackathon<br>
> @@ -521,7 +552,8 @@ so don't worry if you can't understand t
>      Nasu, Tochigi, Japan<br>
>      6 developers<br>
>      With the support of <a href="http://www.iij-ii.co.jp/en/">IIJ innovation institute</a>.
> -<td>
> +</div>
> +<div>
>      <a id="c2k15" href="images/hackathons/c2k15.gif">
>      <img src="images/hackathons/c2k15-s.gif" alt="c2k15-s"></a><br>
>      c2k15: general hackathon<br>
> @@ -530,8 +562,8 @@ so don't worry if you can't understand t
>      45 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://sait.ca">SAIT</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="p2k15" href="images/hackathons/p2k15.gif">
>      <img src="images/hackathons/p2k15-s.gif" alt="p2k15-s"></a><br>
>      p2k15: ports mini hackathon<br>
> @@ -540,7 +572,8 @@ so don't worry if you can't understand t
>      14 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of Andy Henderson.
> -<td>
> +</div>
> +<div>
>      <a id="s2k15" href="images/hackathons/s2k15.gif">
>      <img src="images/hackathons/s2k15-s.gif" alt="s2k15-s"></a><br>
>      s2k15: southern mini hackathon<br>
> @@ -549,7 +582,8 @@ so don't worry if you can't understand t
>      21 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of David Gwynne.
> -<td>
> +</div>
> +<div>
>      <a id="g2k14" href="images/hackathons/g2k14.gif">
>      <img src="images/hackathons/g2k14-s.gif" alt="g2k14-s"></a><br>
>      g2k14: general hackathon<br>
> @@ -558,8 +592,8 @@ so don't worry if you can't understand t
>      49 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of Mitja Mu&#382;eni&#269;.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="m2k14" href="images/hackathons/m2k14.gif">
>      <img src="images/hackathons/m2k14-s.gif" alt="m2k14-s"></a><br>
>      m2k14: mini hackathon<br>
> @@ -568,7 +602,8 @@ so don't worry if you can't understand t
>      12 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.uca.ma/">Universit&eacute; Cadi Ayyad</a>.
> -<td>
> +</div>
> +<div>
>      <a id="n2k14" href="images/hackathons/n2k14.gif">
>      <img src="images/hackathons/n2k14-s.gif" alt="n2k14-s"></a><br>
>      n2k14: mini hackathon<br>
> @@ -577,7 +612,8 @@ so don't worry if you can't understand t
>      15 developers<br>
>      Funded by <a href="http://www.foretell.ca">ForeTell Technologies</a>
>      and with the support of <a href="http://www.otago.ac.nz">University of Otago</a>.
> -<td>
> +</div>
> +<div>
>      <a id="b2k13" href="images/hackathons/b2k13.gif">
>      <img src="images/hackathons/b2k13-s.gif" alt="b2k13-s"></a><br>
>      b2k13: mini hackathon<br>
> @@ -586,8 +622,8 @@ so don't worry if you can't understand t
>      21 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.in-berlin.de">IN-Berlin</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="t2k13" href="images/hackathons/t2k13.jpg">
>      <img src="images/hackathons/t2k13-s.gif" alt="t2k13-s"></a><br>
>      t2k13: general hackathon<br>
> @@ -596,7 +632,8 @@ so don't worry if you can't understand t
>      43 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.utoronto.ca">University of Toronto</a>.
> -<td>
> +</div>
> +<div>
>      <a id="n2k13" href="images/hackathons/n2k13.gif">
>      <img src="images/hackathons/n2k13-s.gif" alt="n2k13-s"></a><br>
>      n2k13: network hackathon<br>
> @@ -605,7 +642,8 @@ so don't worry if you can't understand t
>      17 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.otago.ac.nz">University of Otago</a>.
> -<td>
> +</div>
> +<div>
>      <a id="c2k12" href="images/hackathons/c2k12.gif">
>      <img src="images/hackathons/c2k12-s.gif" alt="c2k12-s"></a><br>
>      c2k12: coimbra hackathon<br>
> @@ -614,8 +652,8 @@ so don't worry if you can't understand t
>      10 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.uc.pt">University of Coimbra</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="p2k12" href="images/hackathons/p2k12.gif">
>      <img src="images/hackathons/p2k12-s.gif" alt="p2k12-s"></a><br>
>      p2k12: ports hackathon<br>
> @@ -624,7 +662,8 @@ so don't worry if you can't understand t
>      9 developers<br>
>      Funded by <a href="donations.html">donations to
>      The OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="n2k12" href="images/hackathons/n2k12.gif">
>      <img src="images/hackathons/n2k12-s.gif" alt="n2k12-s"></a><br>
>      n2k12: network hackathon<br>
> @@ -632,7 +671,8 @@ so don't worry if you can't understand t
>      Starnberg, Germany<br>
>      23 developers<br>
>      Funded by <a href="http://www.genua.de">genua</a>.
> -<td>
> +</div>
> +<div>
>      <a id="g2k12" href="images/hackathons/g2k12.gif">
>      <img src="images/hackathons/g2k12-s.gif" alt="g2k12-s"></a><br>
>      g2k12: general hackathon<br>
> @@ -640,8 +680,8 @@ so don't worry if you can't understand t
>      Budapest, Hungary<br>
>      41 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="r2k12" href="images/hackathons/r2k12.gif">
>      <img src="images/hackathons/r2k12-s.gif" alt="r2k12-s"></a><br>
>      r2k12: rthreads hackathon<br>
> @@ -651,7 +691,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and support of <a href="http://www.ihp.fr">Institute Henri Poincar&eacute;</a> and
>      <a href="http://www.u-psud.fr">Paris-Sud University</a>.
> -<td>
> +</div>
> +<div>
>      <a id="p2k11" href="images/hackathons/p2k11.gif">
>      <img src="images/hackathons/p2k11-s.gif" alt="p2k11-s"></a><br>
>      p2k11: Ports hackathon<br>
> @@ -660,7 +701,8 @@ so don't worry if you can't understand t
>      15 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="a2k11" href="images/hackathons/a2k11.gif">
>      <img src="images/hackathons/a2k11-s.gif" alt="a2k11-s"></a><br>
>      a2k11: ARM hackathon<br>
> @@ -669,8 +711,8 @@ so don't worry if you can't understand t
>      8 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of <a href="http://www.uc.pt">University of Coimbra</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="s2k11" href="images/hackathons/s2k11.jpg">
>      <img src="images/hackathons/s2k11-s.gif" alt="s2k11-s"></a><br>
>      s2k11: General hackathon<br>
> @@ -679,7 +721,8 @@ so don't worry if you can't understand t
>      25 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and with the support of Mitja Mu&#382;eni&#269;.
> -<td>
> +</div>
> +<div>
>      <a id="c2k11" href="images/hackathons/c2k11.gif">
>      <img src="images/hackathons/c2k11-s.gif" alt="c2k11-s"></a><br>
>      c2k11: General hackathon<br>
> @@ -687,7 +730,8 @@ so don't worry if you can't understand t
>      Edmonton, Alberta, Canada<br>
>      36 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
> -<td>
> +</div>
> +<div>
>      <a id="k2k11" href="images/hackathons/k2k11.jpg">
>      <img src="images/hackathons/k2k11-s.gif" alt="k2k11-s"></a><br>
>      k2k11: Kernel hackathon<br>
> @@ -695,8 +739,8 @@ so don't worry if you can't understand t
>      Hafnarfjordur, Iceland<br>
>      15 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="p2k10" href="images/hackathons/p2k10.gif">
>      <img src="images/hackathons/p2k10-s.gif" alt="p2k10-s"></a><br>
>      p2k10: Ports hackathon<br>
> @@ -705,14 +749,16 @@ so don't worry if you can't understand t
>      19 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="j2k10" href="images/hackathons/j2k10.gif">
>      <img src="images/hackathons/j2k10-s.gif" alt="j2k10-s"></a><br>
>      j2k10: mini-hackathon in Japan<br>
>      Sep 19 - 25, 2010<br>
>      Akiyamago, Sakae Mura, Nagano, Japan<br>
>      19 developers<br>
> -<td>
> +</div>
> +<div>
>      <a id="c2k10" href="images/hackathons/c2k10.gif">
>      <img src="images/hackathons/c2k10-s.gif" alt="c2k10-s"></a><br>
>      c2k10: General hackathon<br>
> @@ -720,8 +766,8 @@ so don't worry if you can't understand t
>      Edmonton, Alberta, Canada<br>
>      46 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <br>
>      <br>
>      <a id="n2k10" href="images/hackathons/n2k10.gif">
> @@ -738,7 +784,8 @@ so don't worry if you can't understand t
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>
>      and support of
>      <a href="http://vpac.org">Victorian Partnership for Advanced Computing</a>
> -<td>
> +</div>
> +<div>
>      <a id="h2k9" href="images/hackathons/h2k9.gif">
>      <img src="images/hackathons/h2k9-s.gif" alt="h2k9-s"></a><br>
>      h2k9: Hardware hackathon<br>
> @@ -748,7 +795,8 @@ so don't worry if you can't understand t
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>
>      and with the support of <a href="http://www.uc.pt">University of Coimbra</a>.
> -<td>
> +</div>
> +<div>
>      <a id="p2k9" href="images/hackathons/p2k9.gif">
>      <img src="images/hackathons/p2k9-s.gif" alt="p2k9-s"></a><br>
>      p2k9: Ports hackathon<br>
> @@ -757,8 +805,8 @@ so don't worry if you can't understand t
>      14 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="f2k9" href="images/hackathons/f2k9.gif">
>      <img src="images/hackathons/f2k9-s.gif" alt="f2k9-s"></a><br>
>      f2k9: Filesystem/uvm hackathon<br>
> @@ -766,7 +814,8 @@ so don't worry if you can't understand t
>      Stockholm, Sweden<br>
>      14 developers<br>
>      Funded by <a href="https://www.iis.se/english/">.se Foundation</a>.
> -<td>
> +</div>
> +<div>
>      <a id="c2k9" href="images/hackathons/c2k9.gif">
>      <img src="images/hackathons/c2k9-s.gif" alt="c2k9-s"></a><br>
>      c2k9: General hackathon<br>
> @@ -775,15 +824,16 @@ so don't worry if you can't understand t
>      46 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="n2k9" href="images/hackathons/n2k9.gif">
>      <img src="images/hackathons/n2k9-s.gif" alt="n2k9-s"></a><br>
>      n2k9: Network hackathon<br>
>      Jan 26 - 30, 2009<br>
>      Basel, Switzerland<br>
>      19 developers<br>
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="h2k8" href="images/hackathons/h2k8.gif">
>      <img src="images/hackathons/h2k8-s.gif" alt="h2k8-s"></a><br>
>      h2k8: Hardware hackathon<br>
> @@ -793,7 +843,8 @@ so don't worry if you can't understand t
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>
>      and with the support of <a href="http://www.uc.pt">University of Coimbra</a>.
> -<td>
> +</div>
> +<div>
>      <a id="p2k8" href="images/hackathons/p2k8.gif">
>      <img src="images/hackathons/p2k8-s.gif" alt="p2k8-s"></a><br>
>      p2k8: Ports hackathon<br>
> @@ -802,7 +853,8 @@ so don't worry if you can't understand t
>      13 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="c2k8" href="images/hackathons/c2k8.gif">
>      <img src="images/hackathons/c2k8-s.gif" alt="c2k8-s"></a><br>
>      c2k8: General hackathon<br>
> @@ -810,8 +862,8 @@ so don't worry if you can't understand t
>      Edmonton, Alberta, Canada<br>
>      55 developers<br>
>      Funded by <a href="https://www.openbsdfoundation.org">The OpenBSD Foundation</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="n2k8" href="images/hackathons/n2k8.gif">
>      <img src="images/hackathons/n2k8-s.gif" alt="n2k8-s"></a><br>
>      n2k8: Network hackathon<br>
> @@ -820,7 +872,8 @@ so don't worry if you can't understand t
>      18 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a> and Mark Uemura.
> -<td>
> +</div>
> +<div>
>      <a id="h2k7" href="images/hackathons/h2k7.gif">
>      <img src="images/hackathons/h2k7-s.gif" alt="h2k7-s"></a><br>
>      h2k7: Hardware hackathon<br>
> @@ -830,7 +883,8 @@ so don't worry if you can't understand t
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>
>      and with the support of <a href="http://www.uc.pt">University of Coimbra</a>.
> -<td>
> +</div>
> +<div>
>      <a id="p2k7" href="images/hackathons/p2k7.gif">
>      <img src="images/hackathons/p2k7-s.gif" alt="p2k7-s"></a><br>
>      p2k7: Focused on ports<br>
> @@ -839,8 +893,8 @@ so don't worry if you can't understand t
>      13 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="c2k7" href="images/hackathons/c2k7.gif">
>      <img src="images/hackathons/c2k7-s.gif" alt="c2k7-s"></a><br>
>      c2k7: General hackathon<br>
> @@ -849,7 +903,8 @@ so don't worry if you can't understand t
>      50 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="f2k7" href="images/hackathons/f2k7.gif">
>      <img src="images/hackathons/f2k7-s.gif" alt="f2k7-s"></a><br>
>      f2k7: Focused on Filesystems<br>
> @@ -858,7 +913,8 @@ so don't worry if you can't understand t
>      14 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="h2k6" href="images/hackathons/h2k6.gif">
>      <img src="images/hackathons/h2k6-s.gif" alt="h2k6-s"></a><br>
>      h2k6: Focused on drivers for hardware<br>
> @@ -868,8 +924,8 @@ so don't worry if you can't understand t
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>
>      and with the support of <a href="http://www.uc.pt">University of Coimbra</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="p2k6" href="images/hackathons/p2k6.gif">
>      <img src="images/hackathons/p2k6-s.gif" alt="p2k6-s"></a><br>
>      p2k6: Focused on ports<br>
> @@ -878,14 +934,16 @@ so don't worry if you can't understand t
>      14 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="k2k6" href="images/hackathons/k2k6.gif">
>      <img src="images/hackathons/k2k6-s.gif" alt="k2k6-s"></a><br>
>      k2k6: Focused on IPSEC and IKE<br>
>      Aug 28 - Sep 1, 2006<br>
>      Schloss Kransberg, Germany<br>
>      14 developers<br>
> -<td>
> +</div>
> +<div>
>      <a id="r2k6" href="images/hackathons/r2k6.gif">
>      <img src="images/hackathons/r2k6-s.gif" alt="r2k6-s"></a><br>
>      r2k6: Focused on network routing<br>
> @@ -893,8 +951,8 @@ so don't worry if you can't understand t
>      Hamburg, Germany<br>
>      6 developers<br>
>      Support of Henning Brauer.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="c2k6" href="images/hackathons/c2k6.gif">
>      <img src="images/hackathons/c2k6-s.gif" alt="c2k6-s"></a><br>
>      c2k6: General hackathon<br>
> @@ -903,7 +961,8 @@ so don't worry if you can't understand t
>      47 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="v2k5" href="images/hackathons/v2k5.gif">
>      <img src="images/hackathons/v2k5-s.gif" alt="v2k5-s"></a><br>
>      v2k5: Focused on ports<br>
> @@ -912,7 +971,8 @@ so don't worry if you can't understand t
>      12 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="c2k5" href="images/hackathons/c2k5.gif">
>      <img src="images/hackathons/c2k5-s.gif" alt="c2k5-s"></a><br>
>      c2k5: General hackathon<br>
> @@ -921,8 +981,8 @@ so don't worry if you can't understand t
>      60 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="c2k4" href="images/hackathons/c2k4.gif">
>      <img src="images/hackathons/c2k4-s.gif" alt="c2k4-s"></a><br>
>      c2k4: General hackathon<br>
> @@ -931,7 +991,8 @@ so don't worry if you can't understand t
>      46 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="pf2k4" href="images/hackathons/pf2k4.gif">
>      <img src="images/hackathons/pf2k4-s.gif" alt="pf2k4-s"></a><br>
>      pf2k4: Focused on pf development<br>
> @@ -939,7 +1000,8 @@ so don't worry if you can't understand t
>      Sechelt, BC, Canada<br>
>      12 developers<br>
>      Support of Ryan McBride.
> -<td>
> +</div>
> +<div>
>      <a id="c2k3" href="images/hackathons/c2k3.gif">
>      <img src="images/hackathons/c2k3-s.gif" alt="c2k3-s"></a><br>
>      c2k3: General hackathon<br>
> @@ -948,8 +1010,8 @@ so don't worry if you can't understand t
>      51 developers<br>
>      Funded by <a href="https://www.nlnetlabs.nl">NLnet</a>
>      (after DARPA pulled out their support).
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="c2k2" href="images/hackathons/c2k2.gif">
>      <img src="images/hackathons/c2k2-s.gif" alt="c2k2-s"></a><br>
>      c2k2: General hackathon<br>
> @@ -957,14 +1019,16 @@ so don't worry if you can't understand t
>      Calgary, Alberta, Canada<br>
>      42 developers<br>
>      Funded by DARPA.
> -<td>
> +</div>
> +<div>
>      <a id="c2k1-2" href="images/hackathons/noshirt-s.gif">
>      <img src="images/hackathons/noshirt-s.gif" alt="noshirt-s"></a><br>
>      c2k1-2: Focused on sparc64<br>
>      Aug 17 - 20, 2001<br>
>      Washington, DC<br>
>      Funded by DARPA with support of <a href="http://www.usenix.org">USENIX</a>.
> -<td>
> +</div>
> +<div>
>      <a id="c2k1" href="images/hackathons/noshirt-s.gif">
>      <img src="images/hackathons/noshirt-s.gif" alt="noshirt-s"></a><br>
>      c2k1: Birth of PF<br>
> @@ -972,8 +1036,8 @@ so don't worry if you can't understand t
>      Cambridge, Massachusetts<br>
>      25 developers<br>
>      Funded by DARPA with the support of <a href="http://www.mit.edu">MIT</a>.
> -<tr>
> -<td>
> +</div>
> +<div>
>      <a id="c2k" href="images/hackathons/noshirt-s.gif">
>      <img src="images/hackathons/noshirt-s.gif" alt="noshirt-s"></a><br>
>      c2k: General hackathon<br>
> @@ -982,7 +1046,8 @@ so don't worry if you can't understand t
>      18 developers<br>
>      Funded by <a href="donations.html">donations to
>      the OpenBSD Project</a>.
> -<td>
> +</div>
> +<div>
>      <a id="c99" href="images/hackathons/noshirt-s.gif">
>      <img src="images/hackathons/noshirt-s.gif" alt="noshirt-s"></a><br>
>      c99: Focused on IPSEC<br>
> @@ -990,7 +1055,8 @@ so don't worry if you can't understand t
>      Calgary, Alberta, Canada<br>
>      10 developers<br>
>      Funded by Theo de Raadt.
> -</table>
> +</div>
> +</div>
>  
>  Most tshirt concepts designed by artist with Theo de Raadt or Bob Beck.<br>
>  c2k2, c2k3, v2k5, c2k6, r2k6, k2k6, p2k6, h2k6, f2k7, c2k7, p2k7, h2k7, n2k8, c2k8, p2k8, h2k8, n2k9,<br>c2k9, f2k9, p2k9, h2k9, c2k10, j2k10, p2k10, c2k11, s2k11, a2k11, p2k11 drawn by Ty Semaka.<br>
>