Posts

Do You Really Need the Human In the Loop?

Image
Consider :  I ask: Comment on the attached TCL code being used with S-Edit proc tgl_port_lbl {} { if { 0 == [expr [find port -scope selection -goto none -add -count] + [find netlabel -scope selection -goto none -add -count] ] } { puts "Must select a port or label" return } copy delete mode renderoff     set dsn [database design -active] (Yes, there's more, but this is the part we need to focus on.. for now) And the Sphinx says: The selection check is functional, but a bit noisy This works: if { 0 == [expr [find port -scope selection -goto none -add -count] + [find netlabel -scope selection -goto none -add -count] ] } { But it is more complicated than it needs to be. Since this is numeric comparison, it is fine, but readability would improve if the counts were broken out: set nports  [find port     -scope selection -goto none -add -c...

Modern Magic - How Do They Do It?

Image
To many, this would be a trivial case (this is 100% expected), and, for those who know the nitty gritty of how performance improved going from 10 billion to 175 billion parameters, this is REALLY trivial, but, it still blows my mind that it caught THIS 😊 Q: I am using the below VBA macro to sort a column in descending order, but it has the side effect of doing the equivalent of CTRL+HOME , so I have to manually pan (scroll horizontally) to get back to the column of interest. What can I do? 🔹 Original VBA Macro: Sub sort_col_desc() Dim TableName As String Dim TableHeader As String TableName = ActiveCell.ListObject.Name TableHeader = ActiveCell.ListObject.HeaderRowRange.Cells(1, ActiveCell.Column - ActiveCell.ListObject.Range.Column + 1).Value With ActiveCell.ListObject.Sort .SortFields.Clear .SortFields.Add2 Key:=Range(TableName & "[[#All],['" & TableHeader & "]]"), SortOn:=xlSortOnValues, _ ...

Notebook LM Manages Something Where chatGPT Utterly Fails. But, Watch Out - Output Ain't Entirely Clean. Google Is Nothing If Not Sneaky

Image
Google has a brand, that's for sure. They try to get useful stuff to people as soon as possible. That being said, they're not known for quality the way Apple is. A lot of stuff still stinks, but we use it because it empowers us. Manure has its place. Here, I have a file the configures my Cadence setup. I know (mostly) what setting (keyboard shortcut) is for what. But, can I put in comments (automatically of course, in the age of LLMs) that will enable someone else to search the file WITHOUT an LLM (using the simple search.pl perl script) and get useful information? Here's the prompt that did it for me. But, like I said, you have to do a side by side comparison with Meld to make sure you're completely clean. The PDF contains information on bindkeys. Other text files contain code in Cadence SKILL in which semicolon denotes start of a line-oriented comment. We want to add comments to the lines in the bindkeys.txt file which are NOT 100% commens, and which contain ...

Why Does chatGPT Fail Utterly with this One?

If you'd like to try to get it to work, the source is here:  https://github.com/ananthchellappa/SKILL I will give you a ZIP file containing a file called bindkeys.il and a couple of directories named utils and CCS which contain .il files. It is in the Cadence SKILL programming language in which comments are begun with a semicolon (that is a semicolon that is outside a single or double-quoted string) For each line that is not a comment, if the line references a function or procedure that is defined in a file in the utils or CCS directories, use the content of that file to infer what the function/procedure does, and add a short (upto 12 words) comment after the line in bindkeys.il.  It is also ok to use information in the guide.xlsx file. For example, the line load("~/SKILL/utils/toglInstObjFil.il") References a file containing: procedure( toglInstObjFil()         foreach( item schGetEnv("schematicSelectFilter"  )       ...

How You Can Solve Lumosity's Pet Detective Puzzle with chatGPT and OpenCV Without Writing a Single Line of Code

Image
OK, consider this a WIP. Wanted to get something out there to accompany the video . It'll keep improving - your comments welcome! This one has been on my list for years. Like Prof. Brad Vander Zanden says, it's gnarly to have a problem you can't solve and don't know if it can be or not. ---------- Extracting subject locations from the puzzle image (animals, houses, the car, empty nodes and links!) How would one go about solving this problem in python? You have a few image files. These are small images each containing a single subject. Now, you are given an test image containing some of these subjects without any modification - that is, the small image files, if contained in the large test image, are contained without any modification. What is required: Dump out the locations of the subjects that are contained in the test image. Dump out the connections between adjacent subjects - that is, where a "branch" exists - a "road", versus "no r...

Next Time - Blogging a chatGPT Experience

Looks like using blogger to create the content is a fatal mistake. Next time, use MS Word and then paste into Blogger!

How chatGPT Put Money in My Pocket

https://github.com/ananthchellappa/perl/blob/master/search.pl and watch your productivity grow. It previously supported files specified directly with -f (more than one OK) and lists of files -l (more than one OK). I was using it with -l /path/tol/listfile.txt and the listfile.txt had to be updated each time I created a new file with "notes." If you're thinking that's lame, you're right - even once a month is too often :) First attribute of great programmers - impatience. And I'm not :) Now, how do I get someone else to use it - on Teams, I showed them how they could create the list of files using ls or find and then set up the alias. During that conversation - "Maybe it should have an option to support directories." Three days later, done. How? Read on. I had done a spaghetti-code version of the script more than 10 years ago. About a year ago, I got a professional perl coder on Upwork to clean it up and add features. Result : works great, but h...