View Posts for Software Engineering
-
C5Store: The Best Runtime Configuration Store for Applications
Yes, another application configuration library, but I assure you this is way better than any one of them out there. This is the Provider section of the Config Triad (Provision, Management, Provider).
C5Store is a comprehensive answer to the "what config library should I use for dynamic runtime configuration" question. Library is available here: https://github.com/normano/c5store
Why?
I've scoured around for configuration libraries in multiple languages and find them to be lacking in how they are defined, integ...
-
Facebook Engineering Talks and Papers
Figured I start keeping track of talks and papers that Facebook developers produce that I found interesting. I'll keep the list updated.
Talks
2008, Zuckerberg on Memcache at Facebook (https://www.youtube.com/watch?v=UH7wkvcf0ys)
2013, Large-Scale Low-Latency Storage for the Social Network - Data@Scale (https://www.youtube.com/watch?v=5RfFhMwRAic)
2013, Scaling Memcache at Facebook (https://www.usenix.org/conference/nsdi13/technical-sessions/presentation/nishtala)
2014, Release Engineering at Facebook (https://w...
-
At-Least Once Concurrent Cancelable Priority Ordered Repeatable Resumable Asynchronous Job Execution
I remember getting a simpler form of a priority ordered job processing system for a take home interview question. I declined to do it. Just wasn't interested in creating usable compilable code for someone else outside of a paid job.
In creating my new Product for task management, I required a way to do job execution to schedule account oriented operations outside of API interactions. When tasks get created they need to be searchable, so a job is submitted to execute that asynchronously. The jobs would have t...
-
Better Backend Workflow Management
I could say I've seen this some times when applications would contact a ticketing system to create a ticket and then see where a ticket is before performing an action. Typically, a human would interact with the ticket and some time later the state of the application changes and it performs the action.
I haven't seen this done via something like Trello or Jira though. You almost always have to interact with the backend system in some way to progress the task. Not very automated is it.
Since I've been creating ...
-
Recorderable lists a.k.a. Scoring items for Sorting is Pretty Hard
Let's say you have a list of items that you want to sort, but you want it such that a user can change items in the list.
Naively you would give every item a score in an integer range. Typically starting from 0 though some make use of the negative numbers. Alright, sounds good what happens when I perform an add, insert, delete, swap then?
On add, you are just adding to the end of the list, so score of that item is the max(list scores) + 1.
On insert, you are adding to the middle of the list, so score of that it...
-
Trust in Software Engineering Interviews tend to be misplaced.
https://medium.com/@iwaninzurich/why-software-engineers-dont-get-jobs-three-horror-stories-77fd1ae3b875 - This post was written by a recruiter who knows his shit. This is the kind of recruiter to hire.
First Horror-Story in that post was that the "Candidate rejected because of 'wrong' framework." Lol, terrible interviewer. What is "wrong" about using different tools to do your work. Was it enforced that the interviewee use a specific framework? What made it wrong?
Interviewer says "over-engineered" code, but ...
-
Some Critque of Svelte/Sapper
I've been building an application in Svelte/Sapper that I will release in the near future. Given my previous postings of Svelte/Sapper and use of Svelte for the blog and other applications, I think I can say I am a fanatic. Ok, maybe more of a very very eager user of excellent software.
With that a way, no software is deemed unworthy of critique yet. Let's talk about that.
Layout. This is a Sapper router feature. There is a _layout.svelte file used in Sapper that is included in all routes. I personally think ...
-
Web UX: Double Click to Edit
I've been working on tthe UI part of the application I've been creating for myself for now that will eventually be released for public consumption. I've used many applications on desktop and they always have a button to edit. It is a great thing that the UI has a apparent indicator for when things are editable and the indicator is interactive.
One of the central components of my UI is a table/grid. I was wondering how I could best go about editing. Inline editing was a given, but how does one get to show th...
-
Primary Thing I like about Svelte
I find this primary thing very important. It is compatibility with existing Javascript libraries without having to rewrite them into a svelte-* library. This is the biggest reason why I do not find React usable. React is very alien. I've been converting my React sites into Svelte and I cannot say I enjoy the transition.
jQuery can be included so that existing jQuery libraries can be used. This is great.
Why rewrite things that already work just to make them work with a framework? Svelte lives to its promise ...
-
Changelog and TODOs
Just a few comments since I've been looking into these things as part of my Software Project Management tools research.
Todos: TODOs are very useful. Not just for future thought, but for thought process. I think people and companies who eschew TODOs in commits are just fucking weird and short sighted. It is understandable that if you used to TODO everywhere and never get it done that you don't want to see it because it reminds you of how you never get things done. To force that on projects where you collab w...