What I’ve been doing lately

It has been a while since I’ve updated on what things I have been learning or playing with lately. For work my study should be focused on Sql Server and PowerShell or possibly C#. I somewhat hold to that, although I really need to push through the SQL Server training that I have available through work. I should also go back and see if the Oracle OCI cloud certifications are still free, and if so, try to re-up my OCI certifications.

In my personal life, I finally hit Haskell hard enough that I think I finally got it well enough to deal with it on a basic level. I recently used Tcl to solve a programming challenge. I had forgotten how much I love the experience of using Tcl. It is such a hackable language environment. It gets out of my way better than any other language I have used. I can do weirder stuff with Tcl than even in Scheme or Common Lisp. It’s super flexible and probably not all that appropriate for production code that you need to make sure will only run correctly or not at all. But for solving problems the ‘wrong’ way, it’s the fastest and most fun environment I’ve ever used.

So, for the past few days I’ve been ruminating on the thought of using Haskell, Tcl, and Go as my sort of ‘Pocket’ languages – languages that I keep in my back pocket for solving problems or making little utilities that I don’t want to have to deal with a lot of hassle to use or distribute.

Other than that, I am trying to come up with a language that I want use for LeetCode style problems. If I am limited to the languages that LeetCode actually supports – I am not sure if I want to use Go for that due to the lack of dynamicity in the Go language environment. On the other hand, how much time do I want to put into something like Python that is so hard to deploy? Maybe it is worth biting the bullet and just learning and getting good at JavaScript or TypeScript. Other than Python, JavaScript is probably the most dynamic language that LeetCode supports that I am likely to use anyway.

Standard

Blog Platforms

I have been trying to figure out what I want to do as far as writing. I am drawn by the siren call of setting up my own blog software that would let me configure it the way I want to work with my wirkflow. But I am haunted by the thought that a fair number of blogs that start on WordPress and then go away from it seem to show a decrease in posting after the move.

I feel like if I could go all in on WordPress I could do a lot move writing, but I don’t love the experience of using the web based editor, and all the packages I have tried to let me do posts outside of WordPress and then publish them to WordPress seem a bit finicky about how they handle the source of truth and local caching behaviors.

I could probably write something that would work with the WordPress Rest API and let me treat the WordPress instance as the source of truth, but let me pull down a single post to edit it and then update the post on ‘save’. That way I am not trying to deal with keeping local copies in sync.

Standard

Learning Clojure

I’ve been reading books and playing around with Clojure for the past few weeks. Mostly that has been motivated by trying to find something that gives me the and kind of experience that I find in Common Lisp but with an easier fit for trying to do web development.

I am close to finishing reading my first book on Clojure and I have watched probably 15 to 20 hours of talks about the early philosophy and development of Clojure.

Maybe I am getting old and tired, but I think I am looking for languages now that I can just concentrate on for my own use that I enjoy enough to stick with. At the moment I feel like lispy languages like Common Lisp and Clojure have the kind of feel they I am looking for.

I have come to realize that I like programming environments that are more like systems that I can interact with in an ongoing fashion rather than viewing code as text that gets executed by some process after I am done writing it.

Both Clojure and Common Lisp give this sense of being an environment. But at the moment I understand the capabilities Clojure brings to the table as far as web development far more than what is currently available in the Common Lisp ecosystem.

Standard

Prayer (2023-05-07) – 2

Lord, you desire your church to be a pure and spotless bride. You desire that she grow up into all the fullness of Christ. You desire that she be of one flesh with the Lord. One body.

You desire that your people be built up in unity, built up and edified in all things that you have given by Your Holy Spirit. You desire that each of us learn goodness in our innermost places. You desire that we be made like You. You want Your church to be good through and through even if that won’t happen until the consummation.

Standard

Prayer (2023-05-07)

Lord, you are worthy of my heart.

You are worthy that I should speak of how wonderful you are.

You are worthy that I should tell of your faithfulness in our lives.

Help me Lord to be as free and unafraid in speaking of your goodness as people that love you and are unafraid.

Let me be unafraid of people. Let me be unafraid to speak of your glory and goodness.

Let me be unafraid to speak of your truth.

Let me be unafraid to speak your gospel.

Standard

Embeddable Common Lisp for cross platform code?

I’ve been reading through comment threads learning about other peoples experiences trying to share code between iOS and Android in a cross platform fashion.

It just occured to me that since ECL can compile an image down to a C library, maybe it would work to use it to write cross platform code that was then exposed through the C interface.

I have no idea what the compiled image size would be, so it might not be workable. But maybe at some point I will try to explore the idea a little further.

Standard

Dart Notes 1

Dart Ecosystem – Database Connectivity

I’ve been looking into the Dart ecosystem the past few days as I’ve been getting more into it. One thing that I’ve noticed is that there seems to be a hole in the ecosystem when it comes to SQL database connectivity.

There doesn’t appear to be one well defined package or interface to multiple SQL database backends (ala Perl DBI or the like) – especially if you are interested in sending raw SQL.

There are a number of packages that implement interfaces of some sort to SQLite, and if you are using non-relational databases or Firebase, there seem to be good options, but if you want to write something that might connect to bog standard SQL Server, Oracle, MySQL, or Postgres remotely, there doesn’t seem to be a unified option for that. There are packages for MySQL and Postgres it seems, and there is an old package for ODBC, but it doesn’t look like it’s been updated in 8 years, so I’m not sure how compatible it is at the moment.

This pretty dramatically effects my thoughts of being able to use Dart on the backend with traditional relational databases as a datastore.

Dart Ecosystem – Lex and Yacc

I am having a hard time finding a version of the Lex and Yacc tools in Dart. I have been wanting to go through the book Modern Compiler Implementation in Java, and do the exercises in Dart. But the book mentions using Java versions of the Lex and Yacc tools, and so I’m a little stuck there at the moment.

There are other parsing libraries I’ve found that use combinators and they look pretty cool, and there is also the path of avoiding tooling, and generating the parsers by hand, which some other good books take, so there are other approaches I could take if I am interested in using Dart for exploring interpreters or compilers. But those approaches would not be compatible with that particular book.

Current Thoughts

It appears that at the moment Dart and Flutter are a bit pigeonholed into the Front-End / UI space. I think that Dart has a lot more potential than that, but it needs some help on the package ecosystem front to really be able to address some of the common use cases outside of the UI space.

Standard

Org2Blog: A new method of blogging?

I’ve been trying to figure out what I’m going to do as far as blogging for a long time. My subscription to WordPress.com just renewed which caused me to again begin thinking about options.

So I’ve been looking around and considering ways to be able to have a console / cli oriented blogging workflow.

I considered using wp-cli and something to transform markdown into html. But looking around the Internet I saw Org2Blog and so today I’ve been messing around with it and seeing how well it works.

So far I’m pretty impressed.

I would like to get it to work with MFA which requires me to figure out how to make it and WordPress.com happy with an application specific password. But for the moment I’m pretty happy and org-mode provides the equivalent or a superset of the capabilities of markdown – and I’ve been using org-mode for task management and journaling already so I’m familiar with it. Now I just need to get used to how it ends up translated to HTML.

Standard