I haven’t learned this much, this fast since I first began using Laravel. I’ve been working professionally as a Laravel developer for a long time, but with the rapid advancement of AI, it’s getting harder to ignore how much it’s changing the way I approach my work. It isn’t just writing code faster, it’s taking a different approach to it altogether. Tools that have been around for…
In my work, I frequently end up having to do a lot of data analysis. This usually involves taking multiple sources of data like spreadsheets JSON or XML files and pulling them into a database. This data is often grouped together in unusable ways, and needs to be broken up in order to be usable for analysis. Depending on what needs to happen, I’ll either write up a quick php script to iterate…
Over the past couple years, I’ve been a heavy linux user. I often prefer to use CLI productivity tools like timr and bash-mission-log instead of web apps, both because they are more privacy focused (I know exactly where the data is, and if it’s backed up etc.), and it’s always in my face because I always have a terminal window open. The issue is that sometimes, you’re in a…
why? I wanted to track the time I was spending on some of my projects. I looked at services like Toggl, but I never remember to open the app. I figured if I had something accessible from command line, it’d be easier because I basically always have at least a terminal window open. commands / usage list projects # Output a list of projects in your database php timr project:list sample output
I almost always have a few projects on the go at a t ime at iApotheca, and then I also usuually have a few side projects I work on as well. As a developer, I relate strongly to theories like this: xkcd’s Automation Of course, if you want to improve something, you must measure it. So I’ve spent a great deal of time trying to track and optimize my time of the years.
This is a todo list written entirely in bash saves to text file, so internet isn’t required, and your data stays locally on your device. entirely open source, modify to suit your needs very easily Here is a quick peek at what it can do Check out the source code on Github
observations **I lasted 2 weeks before switching back to my pixel** The process was interesting… there were 2 things that ultimately yanked me back to my pixel. camera First is the camera - the flip phone doesn’t have a camera that’s worth talking about. Since I’ve had a smart phone for… I guess a bit over a decade now, there are a few deep habits that I use my…
check out my new rig (atleast for a while). reasoning I am not going to drag this out to be a post a day because I seriously hope I don’t have something new to say about this process daily. This post is basically the reasoning, and the first few days with this decision. I got my first smart phone in 2009. It was an iPhone 3G. I bought it in a shop on campus at University of Waterloo. I made…
some background/requirements for this project I have a mac, as well as 2 linux machines, and I switch between them fairly regularly depending on where I’m working, and what I’m working on. When I make a list of my daily goals, I often neglect/forget to look back at my journal and remind myself of my other goals for the day. But, because I open terminal so much to run scripts, or to…
Over the last little while, I’ve noticed more and more development frameworks moving towards component based layouts. A few years ago I became familiar with the concept by learning Vue.js, and since then I’ve played with a few other frameworks like React, Redwood, and others that use similar sort of structures. Now, primarily I’m a web developer, so when I moved to Tailwind CSS…
Personally, I don’t find it compelling reading dev blog posts that follow these patterns “I had a problem, so I asked a question, and this person had an answer that was ….” “I saw something on twitter, and thought it looked interesting so i followed the link and this is what I found …” But I find myself accidentally writing them all the time. I often…
purpose One of the biggest problems that face developers today is estimating the time required to complete a task. This is a safe statement to make because there are so many systems you’ve probably heard about which attempt to solve this problem directly. While working in scrum, developers are not good at estimating timelines, but are good at saying which of two tasks are harder One of the…
intro I’m working on a project right now for a company. They would like to add a punch clock to an internal use application I wrote, which will be used by their employees to submit their time sheets. # reqs * Employees must be able to punch in and out easily * Employees should be able to add/edit/delete their own (and only their own) punches within the last 14 days * Admin users should be…
TLDR I am switching my blog from Jigsaw to Hugo so I can learn a bit more about webpack, bundlers, postcss, purgecss etc. Longer version Let me start by saying, I think Jigsaw is a fantastic static site generator, if you’re a Laravel developer, you’ll feel right at home using it. TailwindCSS version 1 is baked into the Jigsaw blog scaffolding, and when I began updating it to version 2,…
Just a quick release for this one. If you are interested in building a static site with Hugo, but don’t want to use a theme, and would like to use tailwind, but with PurgeCSS so you get the ultra-small css files, then check this out.
Quick link to the GIST: View Gist on Github Some background info I use Honeybadger for some of my applications, and today, I started pushing deployments to Honeybadger, but I wanted a file I was comfy committing to the repositiory. I also didn’t want each person who does a manual deployment to have to set it up on their device - it should just run. So I wrote this little script and thought…
Alpine Transitions Previewer If you use Alpine.js and Tailwindcss, this can fit in really nicely to your design process, but if you also have a TailwindUI license, there is a bit more value. alpine-transitions-preview is an open-source (MIT) one-page Alpine.js/tailwindcss application which is designed to perform primarily two functions. it is not affiliated or supported by alpine.js or tailwindcss…
This is an open-source Alpine.js & TailwindCSS mini-web app application which allows you to preview/tweak your Alpine.js transitions in real time before copying them to your project Here are the relevant links: Github Pages Deployment Git Repo Project Page
First off - if you’ve not read the post using Model::Upsert in laravel 8 , check that out before you read this one. It’s kind of the start of this experiment. One of the comments that came up in conversation about this post was, rather than using the insert into, and on duplicate failure, why don’t you a cased update query like the following update items set sort_order = CASE…
Recently - I asked this question on the laracasts discussion board and I got an answer that surpassed my expectations. TLDR You can bulk update the sort order of items in laravel using the Upsert function (only in Laravel 8) $ordered_array = [ [ 'id' => 1 , 'sort_order' => 1 , ], [ 'id' => 7 , 'sort_order' => 2 , ], ... ]; Item :: upsert ($ordered_array, [ 'id' ], [ 'sort_order' ]); There are a…
While I was kind of digging through my configuration files to make the post what i use , I went down a bit of a rabbit hole for my zsh configuration. I had a bunch of aliases, functions, and plugins in my configuration that I didn’t use anymore, and didn’t need really, so I started to go through them and began looking into which ones were still useful vs which ones I could remove from…
This page is inspired by some other developer’s “my setup” pages. IDEs So I largely do 2 types of programming, PHP and Go. For most of my PHP work I use PhpStorm and for most of my Go work I use GoLand . These are both made by JetBrains so they have an annual subscription associated with them, but the code completion and package imports make these things pretty awesome. I use a…
Hi all, So I’m going to start a youtube channel just showing how I work, and what I do. Hopefully people like it. Here is the channel introduction, and I’ll work on adding more and more content to it over time.
If you haven’t heard of Manny, it’s an open source package I created in March of 2020. Repo: github.com/hallindavid/manny Blog post explaining what it is: Livewire Masks With Manny Project page: Manny I made a PR with 2 changes that popped up in a project I was working on. ####Updated Mask to not add on additional characters after we’ve run out of characters. The mask function is…
If you’ve not heard of TailwindCSS , you’re missing out. It’s a utility framework - super light weight, easy to learn, and absolutely awesome. I’ve been using Tailwind for all my recent projects, and most of my projects are data-driven web applications, with buttons as such. Now if you’ve worked with Bootstrap, you’re probably used to creating buttons like this…
First off - I should say - this is taken from this issue conversation on github - particularly from fra000 ’s comment on November 14th, 2019 When building any sort of database-driven app, I’ll want to have a Javascript Confirmation before actually performing an action for things like deleting something, or modifying something which performs a significant change. With Livewire, you call…
In Laravel, there is a precedent to use a nullable datetime/timestamp field similar to a boolean value, for example things like the field deleted_at which is automatically added to your eloquent models when you use soft_deletes. When you’re working with that within that frame, sometimes you’re going to want handle these date times in different ways. Say for instance, the field…
This is something I had to google so many times when I got started with Laravel, so I hope others find it helpful. In Codeigniter, there isn’t really any ORM, so if you’re looking to check if something exists in your database, you’d check out the number of rows returned eg. $postExists = ( $this -> db -> query ( ' Select COUNT(*) as CNT from posts where user_id = ?' , array ( 10…
This post expects you to be comfy with Laravel development, and a bit of Livewire as well - although I do go through setting up livewire. Creating the Project So let’s start off by creating our project and stepping into it. laravel new livewiremask cd livewiremask Pull in scaffolding and livewire Let’s pull in Livewire and also pull in the ui front-end scaffolding - just so we…
** Note - this is a non-technical post. If you’re here for the techno-goodies, this is safe to skip. ** I don’t mean “part of a dev community” in a weird cliquey way - when I say being part of a dev community I mean being in a position where you’re constantly seeing different people’s ideas/thoughts/processes as a method of learning. About a year ago, I started…
What is it? a string manipulation (this is where the name Manny comes from) package for PHP. Here are a few examples of what you can do. Stripper $string = 'With only 5-10 hours of development, Dave built Manny, saving him atleast 10 seconds per day!' ; $config = [ 'num' , 'alpha' , 'space' ]; Manny :: stripper ($string,$config); //Returns: 'With only 510 hours of development Dave built Manny…
So the other day I was working with Caleb Porzio ’s Livewire package, and I ran into a unique situation - atleast for me. In my normal php builds, when you fill out a form like this You would use some javascript library to mask the input on the phone number field like Cleave . Then when the user would submit the form, I’d remove all formatting characters with regex $cleansed_phone =…
Well - for anyone interested in free hosting for a static website using a service like github pages - that’s what this post is about. I mentioned in my First Post that I whipped up this site in about an hour with a Static Site Generator called Jigsaw, and deployed it to github pages. Jigsaw comes with fantastic documentation so is generally pretty easy generate the static files, but there is…
What is a snippet? If you’ve never played with Sublime Text, it’s a fantastic editor and feels so much faster than most of the other editors out there today. It does cost some money up front, but there is no monthly/annual subscription that you need. One of I think it’s most powerful features is snippets. When I first started using snippets, the way I understood them was like a…
What is BootstrapVueFormBuilder? Website Git Repo Throughout my career, a huge portion of my regular work comes from creating forms for people. People always need forms. The regular progression in my situation is this. I spend a bunch of time building a form The customer likes the form, then tries it The customer asks for changes to the form because they missed a field, or had an extra field they…
Well - I just used Jigsaw to build this site. I started at 6:30 AM, and at the time of writing, it’s 7:28 AM on March 25th, 2020. If you’re already comfortable with Laravel, Jigsaw is by far the easiest static-site generation tool I’ve played with so far - I’ve tried a few like Gatsby, and Nuxt, and I think they are awesome, but if you’re a PHP dev at heart, Jigsaw is…
I’ve spent most of my career trying to understand how things fit together. Not just the code — the people, the problems, the business. I think the best software comes from developers who care about all of it. how I got here I started out as a database administrator. For about five years I designed schemas, tuned queries, produced reports, and kept data flowing in healthcare and education…
Here’s what I’m currently using day-to-day. I’ll try to keep this up to date as things change. languages & frameworks Laravel — my primary backend framework. I use it daily at Lumion and for personal projects. It’s the foundation of almost everything I build. Livewire + Filament — for building admin panels and interactive UIs within Laravel without reaching for a full SPA.…