-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
138 lines (131 loc) · 12.5 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!DOCTYPE html>
<html lang="en">
<head>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-75074647-2"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-75074647-2');
</script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
<meta property="og:title" content="Max Almonte">
<meta property="og:type" content="Max Almonte personal website.">
<meta property="og:url" content="https://www.devalmonte.com">
<meta property="og:image" content="/social-banner.png">
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@maxalmonte14">
<meta name="twitter:title" content="Max Almonte" />
<meta name="twitter:description" content="Max Almonte personal website.">
<meta name="twitter:image" content="https://www.devalmonte.com/social-banner.png">
<meta name="description" content="Max Almonte is a software developer who loves building reliable programs using PHP, and .NET, as well as following best practices like TDD and SOLID principles.">
<link rel="stylesheet" href="/assets/build/css/main.css">
<title>Max Almonte Software Developer | Blog</title>
</head>
<body>
<div class="container mx-auto px-12">
<div>
<div class="flex justify-between py-5">
<a class="font-sans text-red font-black no-underline text-lg tracking-wide hover:text-light-red hover:underline" href="/">BLOG</a>
<a class="font-sans text-red font-black no-underline text-lg tracking-wide hover:text-light-red hover:underline" href="/about">ABOUT</a>
</div>
<div class="border border-red"></div>
</div>
<h1 class="post-title">Recent posts</h1>
<div class="my-8">
<a class="font-sans font-black text-2xl md:text-3xl text-black no-underline hover:text-light-red hover:underline" href="https://devalmonte.com/blog/2019-04-18/interfaces-in-php-dont-make-complete-sense">
Interfaces in PHP don't make complete sense
</a>
<p class="font-sans font-normal text-lg md:text-xl my-2 text-black leading-loose">The usage of interfaces is very extendend between PHP programmers, do they really make sense?</p>
<p class="font-sans font-normal text-sm text-darkgrey">Max Almonte 2019-04-18</p>
<div class="border-b border-grey my-6"></div>
</div>
<div class="my-8">
<a class="font-sans font-black text-2xl md:text-3xl text-black no-underline hover:text-light-red hover:underline" href="https://devalmonte.com/blog/2019-03-24/working-with-null-objects-in-laravel">
Working with null objects in Laravel
</a>
<p class="font-sans font-normal text-lg md:text-xl my-2 text-black leading-loose">Dealing with nullable return types in your code can be such a pain and can force you to write one after another guard clause in your code. Here we will see how to implement some techniques to deal with these situations.</p>
<p class="font-sans font-normal text-sm text-darkgrey">Max Almonte 2019-03-24</p>
<div class="border-b border-grey my-6"></div>
</div>
<div class="my-8">
<a class="font-sans font-black text-2xl md:text-3xl text-black no-underline hover:text-light-red hover:underline" href="https://devalmonte.com/blog/2018-11-23/starting-with-dot-net-core-in-linux-tdd-style">
Starting with .NET Core in Linux TDD style
</a>
<p class="font-sans font-normal text-lg md:text-xl my-2 text-black leading-loose">This post is a briefly introduction to ASP .NET Core and TDD, I will use xUnit to build the most basic implementation of a todo-list.</p>
<p class="font-sans font-normal text-sm text-darkgrey">Max Almonte 2018-11-23</p>
<div class="border-b border-grey my-6"></div>
</div>
<div class="my-8">
<a class="font-sans font-black text-2xl md:text-3xl text-black no-underline hover:text-light-red hover:underline" href="https://devalmonte.com/blog/2018-11-14/testing-laravel-zero-dynamic-commands">
Testing Laravel Zero dynamic commands
</a>
<p class="font-sans font-normal text-lg md:text-xl my-2 text-black leading-loose">In this post I’ll show you a way to test commands with dynamic output e.g. those depending on some third party service like an API or a database.</p>
<p class="font-sans font-normal text-sm text-darkgrey">Max Almonte 2018-11-14</p>
<div class="border-b border-grey my-6"></div>
</div>
<div class="my-8">
<a class="font-sans font-black text-2xl md:text-3xl text-black no-underline hover:text-light-red hover:underline" href="https://devalmonte.com/blog/2018-10-10/why-we-need-mixed-types-in-php">
Why we need mixed types in PHP
</a>
<p class="font-sans font-normal text-lg md:text-xl my-2 text-black leading-loose">In this post I try to explain why I think we need a mixed pseudo-type in PHP and some of its possible usages, let’s the discussion begin!</p>
<p class="font-sans font-normal text-sm text-darkgrey">Max Almonte 2018-10-10</p>
<div class="border-b border-grey my-6"></div>
</div>
<div class="my-8">
<a class="font-sans font-black text-2xl md:text-3xl text-black no-underline hover:text-light-red hover:underline" href="https://devalmonte.com/blog/2018-10-04/php-version-1-is-finally-released">
PHPCollections version 1.0.0 is finally released
</a>
<p class="font-sans font-normal text-lg md:text-xl my-2 text-black leading-loose">PHPCollections is a set of Java/C#-like collections written in PHP, the idea behind this is to have a similar way of dealing with large and complex amounts of data in a powerful way with a simple API instead of working with plain PHP arrays.</p>
<p class="font-sans font-normal text-sm text-darkgrey">Max Almonte 2018-10-04</p>
<div class="border-b border-grey my-6"></div>
</div>
<div class="my-8">
<a class="font-sans font-black text-2xl md:text-3xl text-black no-underline hover:text-light-red hover:underline" href="https://devalmonte.com/blog/2018-10-01/why-did-i-build-this-site">
Why did I build this site?
</a>
<p class="font-sans font-normal text-lg md:text-xl my-2 text-black leading-loose">In this post I will try to expose the main reasons why I built this blog and what to expect from this project.</p>
<p class="font-sans font-normal text-sm text-darkgrey">Max Almonte 2018-10-01</p>
</div>
<footer>
<div class="border border-grey mt-10"></div>
<div class="flex justify-center py-5">
<a href="https://www.github.com/maxalmonte14">
<svg class="h-10 w-10 mx-1" xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 96 96" style="enable-background:new 0 0 96 96;"><path style="fill:#ee5253;" d="M48.07,47.746c-0.022,0-0.047-0.001-0.07-0.002c-0.024,0.001-0.049,0.002-0.071,0.002c-5.957,0-11.206-1.508-14.308,1.34c-1.859,1.709-2.642,3.768-2.642,5.985c0,9.261,7.42,10.398,16.949,10.398h0.142c9.529,0,16.949-1.138,16.949-10.398c0-2.218-0.783-4.276-2.642-5.985C59.275,46.238,54.027,47.746,48.07,47.746z M39.968,60.401c-1.813,0-3.283-2.036-3.283-4.547s1.47-4.546,3.283-4.546s3.285,2.035,3.285,4.546S41.781,60.401,39.968,60.401z M56.031,60.401c-1.814,0-3.285-2.036-3.285-4.547s1.471-4.546,3.285-4.546c1.812,0,3.283,2.035,3.283,4.546S57.844,60.401,56.031,60.401z M48,0C21.489,0,0,21.49,0,48s21.489,48,48,48c26.509,0,48-21.49,48-48S74.509,0,48,0z M52.378,67.701c-0.86,0-2.57,0.002-4.378,0.004c-1.809-0.002-3.52-0.004-4.379-0.004c-3.803,0-18.863-0.291-18.863-18.445c0-4.177,1.432-7.233,3.775-9.778c-0.374-0.923-0.393-6.165,1.602-11.183c0,0,4.576,0.502,11.5,5.253c1.451-0.401,3.908-0.601,6.365-0.601c2.455,0,4.912,0.199,6.365,0.601c6.923-4.751,11.498-5.253,11.498-5.253c1.995,5.018,1.977,10.26,1.603,11.183c2.344,2.545,3.776,5.602,3.776,9.778C71.242,67.41,56.181,67.701,52.378,67.701z"/></svg>
</a>
<a href="https://www.linkedin.com/in/maxalmonte14">
<svg class="h-10 w-10 mx-1" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path style="fill:#ee5253;" d="m256 0c-141.363281 0-256 114.636719-256 256s114.636719 256 256 256 256-114.636719 256-256-114.636719-256-256-256zm-74.390625 387h-62.347656v-187.574219h62.347656zm-31.171875-213.1875h-.40625c-20.921875 0-34.453125-14.402344-34.453125-32.402344 0-18.40625 13.945313-32.410156 35.273437-32.410156 21.328126 0 34.453126 14.003906 34.859376 32.410156 0 18-13.53125 32.402344-35.273438 32.402344zm255.984375 213.1875h-62.339844v-100.347656c0-25.21875-9.027343-42.417969-31.585937-42.417969-17.222656 0-27.480469 11.601563-31.988282 22.800781-1.648437 4.007813-2.050781 9.609375-2.050781 15.214844v104.75h-62.34375s.816407-169.976562 0-187.574219h62.34375v26.558594c8.285157-12.78125 23.109375-30.960937 56.1875-30.960937 41.019531 0 71.777344 26.808593 71.777344 84.421874zm0 0"/></svg>
</a>
<a href="https://www.twitter.com/maxalmonte14">
<svg class="h-10 w-10 mx-1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 49.652 49.652" style="fill:#ee5253;">
<path d="M24.826,0C11.137,0,0,11.137,0,24.826c0,13.688,11.137,24.826,24.826,24.826c13.688,0,24.826-11.138,24.826-24.826C49.652,11.137,38.516,0,24.826,0z M35.901,19.144c0.011,0.246,0.017,0.494,0.017,0.742c0,7.551-5.746,16.255-16.259,16.255c-3.227,0-6.231-0.943-8.759-2.565c0.447,0.053,0.902,0.08,1.363,0.08c2.678,0,5.141-0.914,7.097-2.446c-2.5-0.046-4.611-1.698-5.338-3.969c0.348,0.066,0.707,0.103,1.074,0.103c0.521,0,1.027-0.068,1.506-0.199c-2.614-0.524-4.583-2.833-4.583-5.603c0-0.024,0-0.049,0.001-0.072c0.77,0.427,1.651,0.685,2.587,0.714c-1.532-1.023-2.541-2.773-2.541-4.755c0-1.048,0.281-2.03,0.773-2.874c2.817,3.458,7.029,5.732,11.777,5.972c-0.098-0.419-0.147-0.854-0.147-1.303c0-3.155,2.558-5.714,5.713-5.714c1.644,0,3.127,0.694,4.171,1.804c1.303-0.256,2.523-0.73,3.63-1.387c-0.43,1.335-1.333,2.454-2.516,3.162c1.157-0.138,2.261-0.444,3.282-0.899C37.987,17.334,37.018,18.341,35.901,19.144z"/></svg>
</a>
</div>
<div class="flex justify-center mb-5">
<h6 class="font-mono text-sm text-black tracking-tight">Copyright © 2018 - 2019 Max Almonte All Rights Reserved.</h6>
</div>
</footer>
</div>
<script src="/assets/build/js/main.js"></script>
</body>
</html>