Înapoi la articole →

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 200
  1. It’s often beneficial to use Docker to build AWS SAM Lambda Function images.

  2. I had a large slide deck in PDF format and wanted to add the individual slides to Anki to revise from.

  3. If you’re using asyncio in an AWS Lambda, the Lambda handler function has to manage the asyncio event loop inside the Lambda, as the handler function itself cannot be an async function.

  4. I just spent a long time debugging this error I was getting in a unit test using moto to mock out the boto3 SNS client: botocore.errorfactory.InvalidParameterException: An error occurred (InvalidParameter) when calling the Publish operation: not enough va…

  5. Hyperobjekt

  6. Here’s a way of setting up a pytest fixture that sets up a default value automatically for any test case that uses the fixture, but allows calling the fixture from inside the test case to update that value where necessary.

  7. The Jest library for Node.js has a helpful expect.objectContaining function that makes it easy to assert only on the keys of interest in a particular test.

  8. If you hit this error with recent versions of Hugo: Error: Error building site: BABEL: failed to transform "js/main.js" (application/javascript): access denied: "babel" is not whitelisted in policy "security.exec.allow"; the current security configuration…

  9. Here’s a handy Bash one-liner to generate a token or some other kind of command output, and do three things at once with it: Export it as an environment variable in the shell.

  10. Hugo new post Bash function

    Hugo has a hugo new helper command that can generate new content files for you.

  11. I’m currently working on a project for Kensio Software using AWS DocumentDB, and wanted to access the database for development using DataGrip.

  12. X2X Media

  13. Most software engineers are aware that floating point numbers are not suitable for monetary amounts, or any amount requiring reliable decimal precision.

  14. Here’s a versatile Python function that splits any iterator into chunks of size n as a generator.

  15. TypeScript has a handy type inference feature where the compiler will automatically determine types in most situations.

  16. Recently I’ve been working in Google Cloud Platform (GCP) in a highly distributed system that is partitioned into many different services with various deployment strategies.

  17. I find myself looking up past projects to remember how to mock various things with Jest in TypeScript, so I’ve started writing up notes on this page to gather them in one place.

  18. The Udemy video course UI doesn’t give you a lot of information about your progress through a course.

  19. Bulb

    I worked as a Software Engineer on a contract basis for Bulb via YLD, using Kubernetes, Terraform, GCP, TypeScript, Node.js, Python, MySQL, PostgreSQL and other technologies.

  20. Some projects seem to get into the habit of keeping the application code relatively clean and simple by hiding complexity in the infrastructure layer.

  21. A quick note about a footgun in MySQL with timestamp colummns, which I happened to notice when using migrations in the knex.js library.

  22. Here’s an easy way to get branded string types in TypeScript.

  23. Static sites are great for their speed and ease of deployment at low cost.

  24. Here’s a snippet of Hugo template language that I use to try and select the best social meta data image for each page on a static site: {{ if isset .Params "meta_image" }} <meta property="og:image" content="{{ .Params.meta_image | absURL }}"/> <meta nam…

  25. A client of Kensio Software is using an L2TP VPN with Ipsec that’s using an obsolete DH2 (modp1024) algorithm.

  26. It’s pretty common to use SQL to extract sales summaries from tables that represent sales orders as rows.

  27. It’s often useful to have a range of contiguous dates when building SQL queries, for example by using a left join to ensure that data from other tables that might have missing dates will get a null value in those rows instead of skipping the rows entirely.

  28. If you’re anything like me, then you might find mocking dependencies in Python tests quite fiddly and unintuitive (it’s certainly less straightforward than Jest in TypeScript).

  29. Stubborn Attachments

  30. ESLint custom rules are useful

    Here’s an example of a custom eslint rule that detects usage of the knex library in a unit test file and reports it as a linter error. module.exports = { rules: { 'no-db-unit-tests': { create: function (context) { return { ImportDeclaration(node) {…

  31. Where's My Flying Car?

  32. When using Jest mocks, it’s easy to hit this error: ReferenceError: Cannot access '...' before initialization This is a bit vague and difficult to figure out if you don’t know what the issue is.

  33. Here’s a potential idea to improve the technical interviews that you run: if you use algorithm questions in interviews, ask candidates to ask you an algorithm question as well.

  34. After figuring out how to upload Etsy listing images in Python for one project, I needed to do the same thing in PHP for another.

  35. Recently I needed to refactor some Terraform configuration, which had grown into quite a large single state file, into smaller separate directories with their own state files.

  36. Easy encrypted git with gcrypt

    I’ve been looking at options for keeping personal notes and diary entries stored securely and synced across devices.

  37. The Great Successor

  38. Raw HTML shortcode in Hugo

    Here’s a little Hugo shortcode for including raw HTML within your Markdown content.

  39. Anki is one of my favourite pieces of software ever, and it’s great to see that it seems to be getting more and more attention as a valuable tool.

  40. I’m participating in Kodoeba, an open hackathon around the Tatoeba example sentence project.

  41. Simplicity resistance

    Here’s another term that ties in with the ideas in “boring considered beneficial”, “fee justification” and “problem maximisation”: simplicity resistance.

  42. One little productivity trick I use is to select tasks or work with a random number.

  43. This is a potential rule-of-thumb subjective metric for assessing how well you’re directing your software development resources: Does your code read like your conversations?

  44. GitHub Actions are a nice way to get “push to deploy” behaviour for a static site.

  45. Correlation does not imply causation, but a lack of correlation does imply a lack of causation.

  46. Engineer pain vs user pain

    A lot of software engineering teams talk about “pain” on a regular basis.

  47. Crystal ball development

    There’s a well known software development maxim called YAGNI: “You Ain’t Gonna Need It”.

  48. Problem maximisation

    A common metaphor about the potential dangers of AI is called “paperclip maximisation”.

  49. It’s good to have a general post image on content sites, as it gives more of an identity to each page, and works well for social media sharing images.