Hacker Newsnew | past | comments | ask | show | jobs | submit | Royalaid's commentslogin

Was inevitable but it is cool to see that the Cursor team are really making good use of the tech. Tab complete + the new Composer model are very good at targeted, narrow tasks.


Just want to say love your work! Js-interop was super useful when I was working in clojurescript land.


Something like off chain calculations or state management which then can be subtree’d out and used on chain. I think something like 1inch or Paraswap style of app were you need to do huge, in single tx terms, calculations to optimize trades across dexs and then provably import that work on chain. In reality because this is so new I doubt many people have any idea how to actually use it effectively right now but there is a lot of potential.


Cognitect, the company that shepherds and maintains Clojure, has joined Nubank (https://cognitect.com/blog/2020/07/23/Cognitect-Joins-Nubank) and so they are starting to flesh and grow the core team as well as fund some of the open source projects/devs that the ecosystem relies on (https://cognitect.com/blog/2020/12/15/sponsoring-open-source...).

Add to this a lot of people are changing jobs and pushing for using more alternative languages or exploring new languages and as a result many people are building in what they want instead of what they are forced to use at work. The sibling comment about roam is a good example as they have had a lot of press lately.


And more importantly this is what a lot of people are doing in industry, for better or worse, and so seeing this all laid out together is important IMO.


For what it's worth my grandfather has a laundry shoot in his home, but his is in the wall and is small enough that a child would have difficulty fitting through if they should reach.


Just to add to this idea, it's important to understand when the circle is near the start or end especially. I found myself not sure when to start breathing and not sure when to stop. I think the color idea will definitely help but sure if this specifically addresses this issue.

Either way very cool idea for an app


I have posted about this before but Clojure does have tooling problems specifically ergonomics.

Look at create-react-app. Two commands and a ton of editor integration across intellij, vscode, vim, etc gives you incredible access to a rich ecosystem and plugs together really nicely with sensible defaults.

Clojure has some answers in this space but everything feels bolted on and not nearly as polished. A big part of the problem is the size of the community, there just isn't enough hands to build out the infrastructure that other langs enjoy.

I still love Clojure and will continue to use it but in order to do so I have to understand that some simpler things will just be more work.


That might be because you've left out CIDER, which is

1) the most popular Clojure programming environment

2) solidly documented

3) built on top of Emacs, which is in itself very well documented (Just the reference manual of the vanilla Emacs is 500 nicely written, if dry, pages)

4) very featureful.

I guess the biggest problem is that most people are not familiar with Emacs, and not willing to read any documentation and guides.


I've never understood why so many people are reluctant to learn Emacs (or Vim), but then don't see any problem with learning a new language specific IDE every few years.


Probably because those language-specific IDEs all follow standard user interface conventions.


While we can suggest Cider as an option, I have had nontrivial problems with breakage on updating, Emacs falling over with long lines of text, Windows support, etc. I also know that I am not the only one who has had these problems https://twitter.com/ztellman/status/1055152840589496320.

These kinds of issues a part of the tooling gap and are real reasons people give up on Clojure and I do find the dismissive attitude of most when I have suggested this in the past off putting.

Addressing Emacs specifically, while it would be probably worth the investment it is not an answer most people want to hear and when we suggest that Clojure is this great thing it is important to show people on some of their terms because learning a new editor on top of Clojure more then we should be asking IMHO and for all the talk of Clojure being pragmatic this feels directly opposed to that ethos.

Let me emphasize, I don't want to say anyone is doing anything wrong or that Emacs isn't the right way forward but it had to be acknowledged that there are real problems that path that need improvement when it comes to onboarding new developers and with daily use.


In 6 years that I've been using Cider daily, I don't remember it being broken after update. Ditto for Emacs.

A few times Cider had major changes, but even then it was quickly resolved, and was relevant only to people that were using daily snapshots. I guess if someone is a beginner, they'd use a stable version, and these are rather stable.

Big files could be problematic in Emacs. OTOH, Clojure files are never big.

As for Emacs requiring a bit of learning at first. Well, yes. It has lots of features that beginners have probably never encountered in other tools. These features are awesome. They also help a lot. So, someone expects to unlock a great featureset, but refuses to spend even a few afternoons learning about that featureset. I understand that people would rather get something out of nothing, but it's not Emacs's fault.


Part of the problem could have been that I was using Spacemacs and package support and that may have broken it but circling back around this connects with meeting people halfway, I don't want to learn Emacs style control, I know Vim, Vim works elsewhere, and I just want to write Clojure. I can do that now with Cursive so the trade off isn't worth it. A lot of people learning feel and think this way in my experience, especially if I selling Clojure to someone who is reluctant, anecdotally at least 4 people I know have followed this path, I am sure it extends beyond them.

Per the big files, its not so much Clojure but output at the REPL. Especially as a noob accidentally grabbing way to much data for a buffer is really easy, Emacs hangs, REPL and process dies and has to be rebooted and you have to bring up everything again. This is non-trivial friction when learning and should really be handled gracefully by the editor.

As for everything else regarding Emacs and learning all these points stand and are valid but still don't address the problem of someone wanting to learn Clojure and instead having to learn Emacs + Clojure + Cider. For someone just starting on the path most won't have more than 3 files of CLJ and may not even interact with Lein or Deps. Refactoring IS important but not to them. I just don't think the trade off is worth it for someone just toying around with CLJ in their free time. It may not be the best metric but "time to hello world" and "time to blog" matter to people coming in because it shows that the promise that they are sold is something that they can reach and achieve.


Hm, I use Spacemacs particularly because of the easy config.

That said, you're right: you should just be able to use vim, and historically CIDER has been the dominant (most polished) environment. At Clojurists Together Foundation, we're trying to fix that though: a lot of our funding has gone towards IDE development including for vim. Some of it towards CIDER also benefits vim because they share internals.

[0]: https://clojuriststogheter.org


It's worth mentioning that BBatsov, the creator of CIDER, maintains a practically zero-config Emacs distribution, Prelude. A novice interested in Clojure could install Prelude, and start coding Clojure and other popular languages using pre-configured packages in, let's say, 15-30 minutes. The difference from Spacemacs is that Prelude is much simpler, does not mess with Emacs defaults, is close to vanilla Emacs, and has been super stable for years.

http://batsov.com/prelude/


aaand I guess that's what ppl mean by "ergonomics issues". Emacs is very stable, quite logical in some sense, but also hasn't kept up with the times and doesn't default to those typical keyboard shortcuts, which most newer editors almost all share... but this has been discussed countless times before on twitter, clojureverse.org etc...


My bet would be that you are working with the Linux version of Emacs. That's indeed a lot less problematic and more performant too. Under macOS and Windows, the situation is not that rosy and since ppl want familiarity, they typically mix in something like Spacemacs, Doom Emacs, etc into the mixture. For a long time they would probably won't even hear about Prelude or if they do, they would not even assume that's a preset system for Emacs. I've seen this happening to a couple of ppl already just in the past 2-3 years.


I'm not super familiar -- what editor integrations does create-react-app provide? It seems like it's just a project template like Luminus for Clojure.

Tooling is definitely important, so I don't want to downplay friction here, just curious about what other ecosystems do better.


Mostly that there is an interplay between the config that gets spit out by CRA and the editors that consume it, I don't need to give intellij the run config for the 400th time, it's just there by default. I click run and it runs.

An exercise for you to try that might illustrate it. Setup create-react-app and get hello world up and running. Now do the same with Clojurescript. That should include a way to hot reload and edit because that is often the next steps.

Notice the friction that CLJS still has and the aimlessness of starting from a build script as is suggested on the Clojure site vs getting a functional build in two commands.

I don't want to come across as ungrateful for the hard work that David and Alex and the whole team put in, they are the only reason have dev tools that feel comfortable to me and I can't thank them enough for that, but I just want to point out that friction and difficulty and to try and get people who do understand to put themselves in the shoes of developers who don't and to acknowledge that we as a community can aspire to more.


I am not familiar with CRE, so I could be missing something, but based on my understanding of what you write, `lein new re-frame hello-world` should do the trick. Do `lein dev` from the project root directory to get the app running with hot reload.


npx create-cljs-app will get you a ClojureScript React app pretty similar in tooling.


Just tried this and the install size is 796Mb of which 513Mb is node modules. The initialised git repo is a whopping 274Mb - WTF? I re-initialised git, excluding node_modules and it's now 244k. I recommend the author leaves `git init` to the user.


Is your criticism that it downloads to many packages, or just that they're (I agree, incorrectly) being added to the git repo? Because if you want to create your own minimal setup, shadow-cljs' tutorial will help you do that: but OPs criticism was that there's no easy starting point that has all the bells and whistles, so yeah, this has a lot of bells and whistles :-)


That is extremely fair but again it doesn't have deep hooks and the convenience that Javascript and CRA have with, for example Intellij. This isn't a problem that is easily solved, Colin is only one person and JetBrains is a huge team, but it is still a gap that Clojure needs to have a story around to attract more developers and to make our lives as devs starting new projects easier.


Can you help me understand the deep hooks that need to happen? My understanding is that it's stuff like, intellij's "run" knows how to call `npm start`. Elsewhere in the thread you highlighted specific requirements like getting hello world running and hot code reloading with your editing, but CCA seems identical to CRA in that regard.


How is create-react-app more ergonomic than "lein new"?


Unsurprising but still sad to see it be officially cancelled. Having gone the last few years and growing up on Blizzard's games it does feel slowly like Blizzard is losing their way and this kind of throws salt in the wound, not that anyone is to blame for this particular situation.


>it does feel slowly like Blizzard is losing their way

Blizzard lost their way on the day they were purchased by Activision. They've been a hollow shell of their former selves since then. The quality and passion of their older games is gone and everything they pump out is a way to milk money from customers. Everything from releasing individual campaigns for StarCraft 2 as standalone titles, to diablo 3's launch nonsense, to the ridiculous phone diablo nonsense. Not to mention just milking the utter fuck out of WoW for well over a decade.


I was just talking about this with a friend earlier today. It's interesting to have witnessed Blizzard go from indie maker to #1 PC game studio to whatever you would describe them now. But the reasons for their downfall shouldn't be surprising, since you see similar in tech often:

Step 1: Lose core talent that made your company what it was (Blizzard North, Chris Metzen)

Step 2: Misalign incentives between shareholders and users (Arguably: Destroying the SCBW pro scene, Diablo mobile, RMAH, WarCraft Reforged's journey so far, etc.)

Step 3: Add time

For the younger generations, Riot Games is now to them what Blizzard Entertainment was to me when I was growing up. Hopefully Riot doesn't fall victim to the same issues, or perhaps these issues are inevitable for any company after a certain growth stage.


Overwatch was a great post-Activision game. Overwatch 2 on the other hand...seems like a blatant cash grab.

We don't know much about it, but it seems like it's introducing new heroes, maps, and new abilities for existing heroes. Maybe that's enough to warrant a "2" in the title, but it sure doesn't feel like it at the moment.


I have to be honest, i've never tried overwatch and kind of forget it exists, but i just looked it up and it does look pretty fun.

I dunno I grew up with blizzard. One of the earliest PC games I remember playing was Warcraft, I still remember being blown away when I seen that box in the computer store. I just devoured the manual the whole way home. I've been addicted to most of their games up through Warcraft 3, I sort of skipped the wow phase. But, all of the sequels i've tried and just the press stuff with blizzard i've kept up with has just left me feeling meh towards them.


OW2 is supposed to add PvE-Content, as OW1 is purely PvP. If they add significant amount of content, then the "2" would be more than justified. Most games are blatant cash grabs, you don't invest millions just for fun. Delivering something good or something bad for the player makes the difference.


To be honest, I think that Diablo 3 was a pretty good game. The auction house certainly was a failure and the mechanics were a bit shallow compared to the previous well established hack and slashes. But otherwise, beautiful game, responsive controls, very enjoyable overall. The kind of game we love to hate as much as we love playing it.

The problem with the auction house wasn't really the real money part, it wasn't that much used. The problem was that the best way to get good items was to trade in the not-real-money action house, creating all sorts of unblalance. In the end, they completely killed the game economy, probably for the best.

The lack of depth is to put into perspective. Such things only matter at high level, and many people didn't get that far. Also, many of the people who (rightfully) complained about that came from late Diablo 2, or even Median, and probably don't realize how much has been done since the original game. Like its predecessor, Diablo 3 endgame improved a lot since launch.

Now everyone is on Path of Exile, great game, but way too complex for casual players like myself. Basically Median's brainchild.


My main problem with diablo 3 was that it felt more like playing a slightly more complicated version of gauntlet than actual sequel to diablo 2. After having played a bit of path of exile, i feel they definitely got closer to an actual diablo 2 sequel than diablo 3 did. Though that game's got some aggravating issues itself.


Blizzard was an amazing storyteller with their Warcraft and Diablo games, and combining it with the social aspect in WoW had me staying up countless nights adventuring with people all over the world.

It was good times, and I sadly doubt I'll ever find a similar experience ever again.


I agree, but I'm still, probably unwisely, allowing myself some anticipation for Diablo 4.


Nothing unwise, it looks like the game that Diablo 3 should have been. Lots to be excited about there.

As for Blizzard falling off my radar, I just can’t shake them. They are still about as good as it gets.


And Ovewatch 2.


Blizzard didn't lose their way, Activision made them lose it.


Yeah it's unrelated to COVID, but Blizzard sort of fell off my radar of "folks whose games I'll check out by default".

Blizzard lasted a long long time compared to how quickly developers / game companies can rise and fall.

It was good run.


I think this is a natural reaction to advice being over prescribed and totally agree that in your free time you should do whatever it is you want and this is solid advice.

BUT I think we should also acknowledge that everything that slows you down in your free time has a reason for existing and most of that is communication or knowledge sharing within a team. Naming conventions, unit tests, and general documentation all exist to help other team members keep up with the pace of changes in the repository. If you're not planning to do something in a team setting or for this to be consumed outside of the work that you do then you don't need these things. But if you want to share with everyone else it's important that you don't totally ignore these things because it will come back to bite you in the long run.


The idea is to stop trying to make it easier to share and others to use and just write something that works for you.

Kinda like the idea for personal. Why spend so much effort to structure projects so others can use when chances are they won't or you don't care if they do. Work is governed by different realities.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: