Ik kwam vandaag 2 interessanteartikelen tegen over AI-agents en dan met name de ethische kant hiervan. Moeten we wel of geen volledig autonome AI-agents willen? Wat zijn de voordelen en nadelen hiervan?
En natuurlijk, wat gemaakt kan worden, zal ook gemaakt worden, dus die volledig autonome AI-agents zullen er waarschijnlijk wel komen. Maar het is goed om daar wel een grondige discussie over te voeren. Bijv over de privacy issues, waar moeten de AI-agents toegang toe hebben om zelfstandig opdrachten voor je te kunnen uitvoeren en wat gebeurt er als daar misbruik van gemaakt wordt? Of als je een verkeerde agent toegang geeft tot al je persoonlijke data? Boeiende materie en ik ben er in ieder geval voorlopig nog niet uit.
I have a confession to make: I’m a coffee nerd. But if you know me, you probably already knew this 😉.
I’m always buying fresh beans from local coffee shops or somewhere online. I’m using a hand grinder to grind the beans, and my favourite brew method is the Aeropress.
When a bag of beans is empty, I’m not throwing them away, but I keep them, and when the year is over, I’m creating an overview: My Year In Coffee.
I’m not the only one who’s doing this; there are a lot of coffee nerds that are doing this, e.g., pullandpourcoffee (Instagram).
Google Sheets to Podcast
I’m using Google Sheets to collect the data and generate some graphs about the data: the origin of the beans, the way they are processed, where I bought them, etc.
I started in 2019, so I have six years of data in a Google Sheet, and I thought maybe I could use AI to get some insights about these six years.
Google NotebookML is a Google AI tool where you can add your own data sources and ask ChatGPT-like questions about your data. The problem is that it doesn’t support Google Sheets, but it does support Google Docs, so I copied all data from the Google Sheet into a Google Doc. If you copy data from a Google Sheet and paste it into a Google Doc, you can add this document to NotebookML. Another option is to export the Google Sheet to PDF and upload this to NotebookML.
After asking some questions about the data, I realized NotebookML also has the option to generate a podcast about the data. A few minutes after I clicked on the generate button, the podcast was ready.
In a 12-minute conversation about the data I’ve collected in the last six years, it is fascinating to hear two “people” talk about this. They talk like they know what they’re talking about, with some background information about the countries, regions, and processing types of the beans. They even noticed I hadn’t tasted much coffee from Indonesia!
Okay, there are some issues. The audio isn’t always perfect; they mention that I’ve included tasting notes in the data, which I haven’t, they are repeating themselves, etc., but overall, I love it!
Listen for yourself.
If you have tips about what coffee I should try in 2025, or if you are a coffee roaster who would like to be included in next year’s overview, just send me an e-mail 😉.
I found several and started creating a list. My idea was to make a comparison between the features of the different plugins. But I soon found out James Stewart did this already in his Comparing rails geo-plugins post. He moved the information to a wiki, on which the most recent information about the different Geo plugins can be found. On this page you’ll also find some great reviews of the different plugins.
I started looking into GeoKit, acts_as_geocodable and actsaslocateable. The last one isn’t suitable for my application, because it can only deal with US addresses. That’s also true for some of the geocoding services the other two support. The only one1 with support for Dutch addresses is the Google geocoding service, so sadly no fall back mechanism for Dutch addresses when one geocoding service isn’t available.
There are a few differences between the remaining two plugins.
acts_as_geocodable makes use of a gem called Graticule. This gem takes care of the actual geocoding, communicating with external services, etc. The acts_as_geocodable plugin takes care of the Rails specific stuff (extra find methods, etc).
GeoKit has all the functionality in the plugin, but Bill Eisenhauer, one of the authors, said“there’s no reason why this needs to be packaged entirely as a plugin”. So maybe this will change one day.
Another important difference is the way the two plugins store the geocoded information. GeoKit can handle existing models with longitude and latitude columns. You can specify the names of the columns with the column_name parameters (the defaults are ‘lat’ and ‘lng’).
The acts_as_geocodable plugin creates two new tables. The first is called geocodes and stores the longitude and latitude for a given address. The second table links the geocodes into your model in a polymorphic way.
Both plugins als have a feature the other plugin doesn’t have (as far as I can tell).
acts_as_geocodable can update the address fields with the data returned from the geocoding service, just add acts_as_geocodable :normalize_address => true to your model.
GeoKit has the ability to look up a location based on the user’s IP-address.
Which of the two is better? I don’t know. They almost have the same feature set, GeoKit does IP-based location lookups, while acts_as_geocodable separates its functionality between the plugin and the gem and has the ability to normalise addresses.
I think it’s a matter of taste, which one to choose. Or is there any difference in performance? I guess I have to test this.
For now, I think I’ll start with GeoKit for my application. I really like the ability to keep my own models with the longitudes and latitudes.
1Maybe someday I’ll write a post about addresses and zip codes in The Netherlands and why the aren’t available for free.
For a new project I’m working on, I will make extensive use of Google Maps. At this moment I’m doing some research to find out what the best practices are to use Google Maps in Rails applications. I also want to find out what tools there are.
The first projects I ran into are the tools which simplify the creation of a map: Cartographer and YM4R. These two projects give the user a Ruby based approach for building maps. According to Andre Lewis in his Google Talk about Ruby and Google Maps you’ll run into the limitations of these projects very soon if you’re building complex applications. Andre is one of the writers of the new book about Google Maps and Rails, called “Beginning Google Maps Applications with Rails and Ajax: From Novice to Professional”.
These tools can be very useful if you want to build a Google Maps application fast or if you don’t want to make your hands dirty on the Javascript (or maybe you just don’t have the knowledge).
The application I’m building will be rather complex and I don’t mind programming in Javascript. So I’m not going to make use of this kind of tools. The next category of tools you can use in building maps, are the geocoding tools. These will be the subject of a future post.
B.t.w. It looks like the cartographer project is dead, so if you want to use this way of building maps, there’s only one solution left, YM4R.
I can think of many situations where Google Coop can be handy. For example:
Only add sites to the searchlist which you think are trustworthy about the subject
Add sites which are interesting for the community of your website. You could even allow others to add sites to the searchengine. This way you can build it together.
Create a local searchengine by only adding websites about a certain location (e.g. only sites you know about Amsterdam)