HN user

janetacarr

459 karma

Independent Clojure Consultant

Posts32
Comments93
View on HN
dotlisp.sourceforge.net 1y ago

DotLisp

janetacarr
2pts1
fixedrate.dev 1y ago

How to Start Freelancing

janetacarr
1pts0
blog.janetacarr.com 2y ago

A simple core.async job system in Clojure

janetacarr
127pts16
twitter.com 2y ago

This week is make it or break it to fix Section 174

janetacarr
2pts0
blog.janetacarr.com 2y ago

Building a Clojure CI/CD Pipeline of Certain Doom

janetacarr
3pts0
blog.janetacarr.com 2y ago

Clojure Transducers: Your Composable Data Pipelines

janetacarr
2pts0
blog.janetacarr.com 2y ago

Thriving in the dynamically type-checked hell scape of Clojure

janetacarr
3pts0
blog.janetacarr.com 3y ago

Building an Event-Driven Architecture in Clojure (Part 1)

janetacarr
1pts0
news.ycombinator.com 3y ago

Ask HN: Has anyone ever done the Chief Programmer Team thing?

janetacarr
2pts1
news.ycombinator.com 3y ago

Ask HN: Who’s Working on the “HTML” for VR?

janetacarr
2pts2
content.time.com 3y ago

Time Magazine Cover: Cyberpunk – Feb. 8, 1993

janetacarr
7pts4
blog.janetacarr.com 3y ago

How to Hire Clojure Developers

janetacarr
12pts1
www.youtube.com 3y ago

Clojure/Conj 2023 Talks on YouTube

janetacarr
7pts0
blog.janetacarr.com 3y ago

Ports and Adapters Architecture for the Functional Programmer (With Clojure)

janetacarr
2pts0
blog.janetacarr.com 3y ago

Mindset shifts for functional programming (with Clojure)

janetacarr
162pts94
blog.janetacarr.com 3y ago

Clojure Transducers: Your Composable Data Pipelines

janetacarr
2pts0
blog.janetacarr.com 3y ago

How to Build Model-View-Controller in Clojure

janetacarr
1pts0
platform.openai.com 3y ago

Block ChatGPT plugins from accessing your content/website

janetacarr
2pts2
blog.janetacarr.com 3y ago

A Primer on Clojure Macros

janetacarr
3pts0
blog.janetacarr.com 3y ago

Clojure Frameworks: Opinions are features not bugs

janetacarr
5pts0
www.paulgraham.com 3y ago

Default Alive or Default Dead?

janetacarr
1pts0
blog.janetacarr.com 3y ago

Clojure's typing “problem”

janetacarr
4pts0
github.com 3y ago

Show HN: A Quadtree Implementation for Clojure(script)

janetacarr
1pts0
blog.janetacarr.com 3y ago

Fix your Clojure code: Clojure comes with design patterns (Part 2)

janetacarr
3pts0
blog.janetacarr.com 3y ago

Fix your Clojure code: Clojure comes with design patterns (Part 1)

janetacarr
4pts1
blog.janetacarr.com 3y ago

Clojure needs a Rails

janetacarr
252pts228
blog.janetacarr.com 4y ago

How Clojure Works for You

janetacarr
4pts0
blog.janetacarr.com 4y ago

Thoughts on ClojureScript and BigDecimal

janetacarr
2pts1
blog.janetacarr.com 4y ago

WTF is Clojure inlining anyway

janetacarr
2pts0
paulgraham.com 4y ago

Ramen Profitable

janetacarr
2pts2
Why Janet? (2023) 2 months ago

I have my qualms with Janet. Mostly, it's lack of package management versioning and lack of libraries in general (advanced HTTP routing, etc).

I do LOVE that Janet can create binaries with JPM, scripts, and is very portable. I once put the Janet programming language on the Playdate game console as POC.

I actually do enjoy writing Janet, but every time I do people think I created the language (I did not).

Wow, thanks for the kind words.

I've been bitten by the ops hellscape of microservices and various tech many times throughout my career, and it's definitely shaped how I think about designing and building software now.

I'm glad you liked it!

I'm using a PaaS, so I didn't want to pay the extra money for a cron job. Maybe not a wise a choice, but here we are.

Totally agree about the issues I might face. I'm glad that the Clojure REPL is a thing, so I can test out all of a job's functionality before sending it off to async land.

Start smaller. You have to walk before you can run. I might be biased because I've tried and failed at a few startups, but this is what I'm doing:

Try building smaller / easier businesses first. Try freelancing or try selling something, anything, like a course. I think there's a very strong correlation between who can make it as freelance and those who can make it with a startup. The market is validated, and you'll get experience in selling, branding, marketing, etc.

Unless you live in Thailand or Bali, I don't see much option for mitigating risk here. Having a freelance/consulting business is going to do wonders for your entrepreneurship career. It'll give you more control over your work schedule, so you can keep making bigger and bigger bets. Just make sure you get high-value clients so you can make margin. Otherwise you'll be hunting for work all the time.

Last piece of advice: don't listen other people (LOL). Everyone has an opinion on how to be an entrepreneur and what 'true' entrepreneurship is. Focus on yourself and where you want to be and how to build a life where you can keep taking shots at the goal.

I've been self-employed for nearly three years as a freelancer / consultant.

Though, I have a course I've pre-sold during the recent work drought. These pre-sales have been paying the bills. So there's lots of pressure to deliver on them while still trying to line up freelance/consulting work.

I started doing this because I had big indie hacker dreams. Now I just think that I'm partially unemployable. What matters most to me is controlling my own destiny and Intellectual Property rights. Writing code is what fills me up, and It needs to be protected. Otherwise, I feel trapped, growing bitter and angry over time. So I'll keep doing this until I have more products.

My ultimate goal is to create a portfolio of products to pay the bills. I have no particular biased towards what. They could be courses, ebooks, or even games. 2023 was a special case in terms of cash flow (business cycle goes down), but I'm hopeful for the future, and my course sold decently well, so I think I'm getting the hang of this entrepreneurship thing.

Context is very important in these kinds of use cases. If you work with something niche, I think these tools are less valuable because the training data becomes sparse.

For example, GPT-4 produces Javascript code far better than it produces Clojure code. Often, when it comes to Clojure, GPT-4 produces broken examples, contradictory explanations, or even circular reasoning.

MVC Isn’t MVC 3 years ago

My take on MVC is that it's an architectural pattern to decouple state, state changes, and state usage.

Momentum.

I think the best advice I got on this subject was "the first five minutes are the hardest". I forget where I heard this, but I took it into my remote working jobs and into all of the self-employed stuff I want to do. It could be simple and small, whatever it is. Sometimes it's just writing comments or tests for my existing code. Eventually the flow takes over and craves more intensity, so at that point I just go with the flow.

Agreed, I rarely reach for recursion myself when developing. Most of my transformations are map, filter, and reduce. Although from time to time, I will combine them with recursion when necessary. I find recurring from a reducing function to be great for traversing or searching trees or other recursive data structures. Usually these are accompanied by a ton of comments for the next developer. :)

I think this would be correct for declarative programming languages, but I don't agree that Haskell is a declarative programming language. Haskell is pure functional programming in my mind. A declarative programming language might be something more akin to DML SQL for a RDBMS, or HCL for Terraform (pre-looping, v0.X).

Clojure data type's are fantastic, but the main thesis of my post isn't what's required for FP in Clojure, rather, what's required to become comfortable with pure functional programming concepts which is why I reference Haskell a lot in the post. The examples just happen to be in Clojure.

Sorry for the confusion.

I agree with your sentiment about recursion. It took me a damn long time to get used to it. But that's why I call it a mindset shift ;). If the codebase was written in Haskell, then there'd be no looping. Clojure is a bit odd in this case as it has a form called "loop" but it's really just a let binding over a fn, providing a point for `recur` to, well, recur to.

Agreed, cyclomatic complexity is definitely something to be aware of when designing functional programming systems.

Although, I disagree about Clojure's readability, but that's probably because I've been doing it for so long.

Interesting Java project you've got there. Reminds me of Clojure's core.async library and software transaction memory ;) (though, I know it's not exactly the same thing).

If I was transforming large streaming input from Kafka or Kinesis, I would probably reach for Cortex (a map-reduce style lib for Clojure), or I might rig up some strange, stream-to-lazy-seq adapter and reach for transducers as they have much better performance when dealing with larger input.

Totally! Clojure is kind of great for this, the loop form in Clojure is really recursion as `loop` just provides a point(fn) for `recur` to return as well as a let binding. You could also just call `recur` in any fn. And, it has side-effect forms like do, doseq, dotimes, etc.

I'm glad you enjoyed the read though :)

I think what people don't seem to understand is that entrepreneurship is a skillset. You can get better at it by practicing.

Like any skillset, you can build a career out of it. And, just like any career, you could end up on the scale of loving it to hating it. I'll admit it's quite a bit harder than any other career though since often you can't look to your peers for advice or examples of success. It's largely a game of taking on risk to provide value to people who will pay for it.

If you've never promoted yourself online, how do you expect to learn enough marketing chops to get people to the value you provide with your business; how do you expect to learn enough sales chops if you've never sold anything to anyone before.

As for me, I'm just a lowly independent consultant, so make of this what you will, but I understand that I'm slowly getting better at sales and marketing, and understanding the value I can provide to my clients, and what makes my consulting different (and hopefully better) than others. Like a natural career progression, I hope to give myself a promotion by creating and selling digital products one day using the skills I've built at the bottom of the ladder.

Post-GPT Computing 3 years ago

I could just be rationalizing here, but I think AI will be illegal soon. The idea of banning AI to protect many well paid middle-class jobs will be a slam dunk for any politician.

There will be no Post-GPT computing world, just the Turing police and console cowgirls.