Recently, I was working on a legacy PHP project that synchronises LDAP teams and users. I found several bugs relating to poor DN “parsing” using regexes and string replacement.
There has to be a better way of doing it, I thought. Alas, there’s not much choice in the PHP ecosystem when it comes to parsing DNs. While there are a few libraries and even PHP’s own `ldap_explode_dn()`, I think they don’t have clean APIs.
So I wrote LDAP DN. It breaks down DNs into RDNs and attributes, supports escaping, allows basic manipulation and has 100% test coverage.
I charge regular clients (the ones that I do some work for every month) by the hour.
I use a spreadsheet to track my time.
Less regular clients, I estimate the project and bill them a fixed amount.
Shameless plug: For estimating projects I use a web app I built (https://estipad.com). It lets me break projects down into tasks and subtasks and estimate those instead of the whole project. It also generates a PDF that can go straight to the client.
I found spreadsheets broke down once I started working on multiple projects at different rates (sometimes with the same client). Freshbooks has been awesome for me, and saved a whole bunch of headaches around tracking time and invoices. Totally worth it.
Hi guys. I’m the founder and sole developer of Estipad.
Estipad is a web app that lets you break down a project into small tasks for easier estimation. When you’ve finished, you can download a PDF estimate ready to send to a client.
Estipad started as a basic CodePen that I used to calculate project estimates for my freelancing clients. A few of my developer friends liked it, so I decided to build it into a web app.
I’d love to hear your feedback and will happily answer any questions you may have.
For most users, you press enter/return on your keyboard. A lot of text editors will detect line endings when opening a file and use that going forward.
It seems to me the only thing on Windows that cares about CRLF is Notepad.
Everything else works fine with just LF. A lot of new Windows software even seems to ship with LF format configuration files. Especially games, probably because it is so common to have a Windows game with Linux backend servers, so the developers are working with both.
So anyway, I'd go with just LF unless your software is Windows only.
https://i.imgur.com/Ef1UpCv.png