all posts tagged 'programming'

Find Wikipedia Entries Near You That Are Missing An Image

originally shared here on

The very first app I ever built for iOS was an app where you could push a button and it would generate a random celebrity for you.

I used only images in Wikipedia, and at the time, the vast majority of quality images of celebrities were from people who went to a convention or premiere, snapped a bunch of photos of as many famous people as possible, and then uploaded them to the public domain.

These are unsung heroes, as far as I'm concerned.

I always admired these people and thought maybe one day I would contribute to Wikipedia in this way.

So I used ChatGPT 4o to whip up a script that allows a user to provide a set of geo-coordinates and it'll return a list of the closest Wikipedia entries which are missing photos.

Here's a link to the HTML that got spit out. Feel free to take the source code and modify it. Or feel free to look up your own geo-coordinates and give it a spin.

The next time you are out on a walk in your neighborhood and you come across a park that you recall is missing an image, you can pull out your phone, snap a photo of it, and take ten minutes to release it into the public domain so other dorks in the future can see what your neighborhood looks like.

And by the way: I know that if I didn't have a large language model, there's no chance I'd be sitting here at 11pm looking up API documentation to try and figure out how I would put this dumb idea to use. This is the power of LLMs, people. This blog post took roughly three times as long to write than the code that was written.

I did have to refine the output once, and there's clearly no great error handling, and some of the entries it returns do have a photo yadda yadda. I get it.

This isn't a tool that one uses to produce artisanal, well-crafted software that will stand the test of time.

This is a tool that, in roughly 5 minutes, empowered me with information that I can now use to make my community a tiny bit better.

That's what I love about technology.


Seven things I know after 25 years of development


šŸ”— a linked post to zverok.space » — originally shared here on

This post deeply resonates with me.

Never give up seeking truth, however uncomfortable it is. Search for knowledge. Adjust your worldview. Ask. Rewrite outdated code. Drop faulty hypotheses and unreliable foundations.

Software author is, first of all, a writer. They are a person who stands upright and says: ā€œthatā€™s what I know for now, and thatā€™s my best attempt to explain it.ā€ Having this stance, preferring it to everything else, and hiding behind terms, concepts, and authority are invaluable qualities for long-term project success.

Or, basically, for any long-term human activity success.

Continue to the full article


Withered Technology


šŸ”— a linked post to lmnt.me » — originally shared here on

Though Nintendo employs more-modern technologies now, they are still criticized for not having the most-modern technologies that their rivals are all-too-happy to include, often at the cost of compatibility, affordability, and energy efficiency.

This is not a condemnation of using cutting-edge technology. But if given the choice, I prefer ā€œlateral thinking with withered technology.ā€ I think thatā€™s a great philosophy to consider when making anything.

ā€œLateral thinking with withered technologyā€ is how I approach building websites. Use battle-tested, slow moving frameworks that donā€™t depend on a cornucopia of vulnerable third party plugins. :cough cough wordpress react cough sneeze:

HTML and CSS are going nowhere, and vanilla JS can do virtually anything you need these days. Render your stuff server side and keep the client side lightweight.

Continue to the full article


Write code with your Alphabet Radio on


šŸ”— a linked post to vickiboykis.com » — originally shared here on

Nothing is black and white. Code is not precious, nor the be-all end-all. The end goal is a functioning product. All code is eventually thrown away. LLMs help with some tasks, if you already know what you want to do and give you shortcuts. But they canā€™t help with this part. They canā€™t turn on the radio. We have to build our own context window and make our own playlist.

When LLMs can stream advice as clearly and well as my Alphabet Radio, then, Iā€™ll worry. Until then, I build with my radio on.

A significant contributor to my depression last year was a conviction that LLMs could do what I could do but better.

Iā€™m glad Iā€™ve experimented with them heavily over the past couple years, because exposure to these tools is the only real way to understand their capabilities.

I use LLMs heavily in my job, but they are not (yet) able to replace my human teammates.

Continue to the full article


Reckoning


šŸ”— a linked post to infrequently.org » — originally shared here on

Canadian engineers graduating college are all given an iron ring. It's a symbol of professional responsibility to society. It also recognises that every discipline must earn its social license to operate. Lastly, it serves as a reminder of the consequences of shoddy work and corner-cutting.

I want to be a part of a frontend culture that accepts and promotes our responsibilities to others, rather than wallowing in self-centred "DX" puffery. In the hierarchy of priorities, users must come first.

What we do in the world matters, particularly our vocations, not because of how it affects us, but because our actions improve or degrade life for others. It's hard to imagine that culture while the JavaScript-industrial-complex has seized the commanding heights, but we should try.

And then we should act, one project at a time, to make that culture a reality.

Continue to the full article


Algorithms we develop software by


šŸ”— a linked post to grantslatton.com » — originally shared here on

I started a new job as a software engineer last month.

Itā€™s the first job Iā€™ve ever had where all I need to do is write code. I donā€™t need to worry about finding customers, protecting the company from lawsuits, ensuring the product is the correct product to build, or making payroll.

All I need to do is write code.

This is the first time in my career where I can actually focus on the art of writing good code.

I came across this article from Simon Willisonā€™s blog, and boy, there are a lot of great pieces of advice for folks in my position here.

As a junior engineer, there's simply no substitute for getting the first 100K lines of code under your belt. The "start over each day" method will help get you to those 100K lines faster.

You might think covering the same ground multiple times isn't as valuable as getting 100K diverse lines of code. I disagree. Solving the same problem repeatedly is actually really beneficial for retaining knowledge of patterns you figure out.

You only need 5K perfect lines to see all the major patterns once. The other 95K lines are repetition to rewire your neurons.

Continue to the full article


Writing Javascript without a build system


šŸ”— a linked post to jvns.ca » — originally shared here on

I make a lot of small simple websites, I have approximately 0 maintenance energy for any of them, and I change them very infrequently.

My goal is that if I have a site that I made 3 or 5 years ago, Iā€™d like to be able to, in 20 minutes:

  • get the source from github on a new computer
  • make some changes
  • put it on the internet

But my experience with build systems (not just Javascript build systems!), is that if you have a 5-year-old site, often itā€™s a huge pain to get the site built again.

I have websites that I made in middle school that Iā€™m able to get up and running in roughly as much time as it takes to find the old folders.

I also have websites that I am unable to run on my new laptop because the dependencies are too out of date and now supported on my new architecture.

Continue to the full article


What Is React.js?


šŸ”— a linked post to briefs.video » — originally shared here on

In summary:

  • Facebook is a [redacted] company with a terrible web interface.
  • React is a technology created at Facebook to administer its interface.
  • React enables you to build web applications and their interfaces the way Facebook does.
  • I am not calling Facebook "Meta"
  • JavaScript-first interfaces built on ecosystems like Reactā€™s are cumbersome and under-performing.
  • React prevails because its evangelical proponents and apologists have convinced developers that Facebookā€™s success can be attributed to technological quality and not aggressive capitalism.

Over the past fifteen years, I feel like Iā€™ve had a pretty good track record of knowing which technologies to pay attention to and which technologies to confidently let pass by me.

When React first dropped, I thought the setup process seemed so onerous and filled with so many dependencies that I slowly backed away and haven't really needed to look back.

It would be irresponsible of me to have zero experience in React, so of course I've inherited projects that others have started on top of it. But every time I jump into a React project, I feel like Iā€™m Homer jumping into his unchlorinated pool.1


  1. I mean, this is how I feel every time I jump into a Facebook-owned property these days. 

Continue to the full article


Five Behaviours to Become an Effective Staff-Plus Engineer


šŸ”— a linked post to infoq.com » — originally shared here on

This talk helped me articulate a few key arguments that I can use to counter myself when in the throes of impostor syndrome-related attacks from my inner monologue.

Basically, a ā€œstaff-plus engineerā€ is anyone in a technical role that is higher than a senior engineer. These are sometimes referred to as principal engineers, staff engineers, etc.

The big difference between staff-plus and individual contributor path is that an IC role is one you go down when you truly want to contribute as an individual, often acquiring such an expertise in a specific domain that you just do your thing alone.

A staff-plus role requires collaboration, often leading teams, but always being the lynchpin which helps be the voice of technical leadership across multiple teams.

The responsibilities of a staff-plus role include (probably) writing and (definitely) reviewing code, providing technical direction, mentoring and sponsoring other engineers, providing engineering context to non-technical people, and being involved in strategic projects which arenā€™t shiny but are critical to the success of an organization.

I think I came across this talk at a timely point in my career. I have been tasked with doing staff-plus engineering work ever since starting my first company, and itā€™s honestly the stuff I love the most.

Iā€™m not a developer who loves to write code. I love writing code because it results in a tool that makes someoneā€™s life easier. What brings me joy is in doing the discovery work needed to clearly articulate the problem and charting a course thatā€™ll lead us to a solution.

Continue to the full article


Everybody's Free (To Write Websites)


šŸ”— a linked post to sarajoy.dev » — originally shared here on

Enbies and gentlefolk of the class of ā€˜24:

Write websites.

If I could offer you only one tip for the future, coding would be it. The long term benefits of coding websites remains unproved by scientists, however the rest of my advice has a basis in the joy of the indie web communityā€™s experiences.

I love the reference to Wear Sunscreen, one of the great commencement speeches.

There is amazing advice and inspiration for building websites in here. It also reminded me of POSSE, meaning ā€œPublish (on your) Own Site, Syndicate Elsewhere.ā€

Continue to the full article