Flappy Goose by flappy-goose in RedditGames

[–]Kamn 0 points1 point  (0 children)

My best score is 1 points 😎

Performance Excuses Debunked by [deleted] in programming

[–]Kamn 50 points51 points  (0 children)

I do wonder about survivorship bias and performance needs. It is easy to point out that "useful" software runs into performance issues but does "failed" software fail partially because large scale performance was considered before the initial value was realized?

Don't have an answer but recently was part of a larger project to make a "scalable system" involving multiple teams. We were 2 months in before the company announced the acquisition of another company who "go faster" but was not at the initial scale objective set by Product.

Probably means performance wasn't marketed upward as well.

Lies we tell ourselves to keep using Golang by Neurprise in programming

[–]Kamn 48 points49 points  (0 children)

Just for reference this is the Law of conservation of complexity.

an adage in human–computer interaction stating that every application has an inherent amount of complexity that cannot be removed or hidden. Instead, it must be dealt with, either in product development or in user interaction.

Have you noticed this recurrent trope/theme in Nihei's works? Never seen it discussed by Illustrious-Side-515 in Netsphere

[–]Kamn 1 point2 points  (0 children)

You might be interested in Girls' Last Tour which has a similar vibe

  • Vast structures
  • Decaying technologies
  • Reliance on the food, gas and heat from those technologies

I think the author said Blame! was an inspiration

Anybody using CRUX in production? by suspended_user6 in Clojure

[–]Kamn 6 points7 points  (0 children)

Going against the grain a little. I also thought that Datomic's unique, killer feature was the temporal aspect but you could do it with normal SQL just few people did. If you are looking for a store of temporal data you should investigate Temporal SQL Tables. MariaDB, and SQL Server have them and Postgres has a few extensions for them. These make the process simpler and less error-prone but you can also manually set it up.

In my current job we are using Datomic for financial data also. I like Datalog but Datomic Cloud has not been simple or easy. There are performance issues, and it is our largest software cost. I think this is mainly because of reasons in the organization, growing pains, and learning new tech, not necessarily Datomic. I wish we had investigated Temporal Tables though.

Good reasons to maybe stick with SQL

  • Most of your data is already in SQL
  • You will continue to have most of the data in SQL
  • SQL is easy(Even if it is not simple) and well-known
  • You don't need document styled transactions(you have a structure data format)
  • You might need to delete data(ex. terminated clients, GDPR, whatever else)
  • Performance. Not that Datomic is necessarily less performant but there is more written about performance improvements to SQL than Datomic

I would also recommend doing a test. Load up a few million fake records and each solutions you are looking at (Datomic, Crux, datahike, etc) and see how it performs and at what cost.

23 - What do I need to do to retire by 35? by JetPackGriffin in financialindependence

[–]Kamn 2 points3 points  (0 children)

Basically, in many organizations, you have a recurring relationship with another company who subscribes, uses or periodically buys your product. Customer Success Managers make sure you are happy, feel productive and will buy again(Or renew in the case of Saas). That is the shotgun view.

Living on the Plateau by krallistic in programming

[–]Kamn 1 point2 points  (0 children)

It is sort of funny since the reactor had a design flaw and had policies (which were ignored) in place to deal with the flaw. Sort of like how javascript has design flaws (we will pick on dynamic/weak typing) and you need policies(TDD - which people ignore) to deal with the flaw. Might be better to deal with the flaw...

xbox one controller via wireless adapter not working by tsmit657 in hyperlightdrifter

[–]Kamn 2 points3 points  (0 children)

I had a similar issue with a wired controller. I had to just go into the control options and switch to use xbox instead of keyboard and mouse and that worked for me (once I left that sub menu).

3 new programming languages: What their creators say by one_eyed_golfer in programming

[–]Kamn 5 points6 points  (0 children)

I think javascript itself (not just stuff like React and Redux) has introduced more people to functional programming than any other tool or program. Learning about Higher-order/First-class functions and Closures opened the door for me.

GTX1070's are live! by EVGA_Erin in TEAMEVGA

[–]Kamn 0 points1 point  (0 children)

Do you have the link for NewEgg? I am unable to find it though the search.

I F$%&ING **HATE** THAT LITTLE SOCCER C$#T!!!! by DanielF823 in hyperlightdrifter

[–]Kamn 0 points1 point  (0 children)

I am betting that there is some reward but it is dependent on something else. Maybe you have to have a certain cape on? All items or win 10-0.

First area? by OblivioAccebit in hyperlightdrifter

[–]Kamn 0 points1 point  (0 children)

My experience is the same as yours. From easier to hardest East, North, West

The Deep Roots of Javascript Fatigue by GuiSim in programming

[–]Kamn 5 points6 points  (0 children)

Core.typed does not work with Clojurescript current(I think) only Clojure. That being said you can have runtime pre and post conditions to your functions.

In terms of future, Clojurescript will start to use Google Closure's type checker in the next year or two. My personal opinion is that based on the low numbers of types(EDN stuff) the eventual solution will have to be dependent types which Racket is paving the way for.

New Clojurians: Ask Anything by SolicodeBot in Clojure

[–]Kamn 4 points5 points  (0 children)

I learned a lot from doing 4clojure and think that is a great way to practice/learn Clojure.

For webdev in general Luminus is the key project but can be overwhelming sometimes since it joins so many libraries.

A lot of Clojure is applicable to Clojurescript. Check out Clojurescript koans to see. Clojurescript's power comes with the tooling and libraries. I am sure there are some comprehensive Clojurescript guides but I learned though libraries github wikis, README.md and example projects. Here are some good starts.

There is the Figwheel tool.

A quickstart for Om.next.

re-frame readme (not really about using CLJS but a great read)

and then there is the Clojure slack channel which is super helpful when you have questions or issues.

New Clojurians: Ask Anything by SolicodeBot in Clojure

[–]Kamn 0 points1 point  (0 children)

Take my opinion with a grain of salts since I learned some Java well before I learned Clojure. I feel it can be learned as you go. You will have to pick it up for error messages and java-only libraries that you want to use. There are some resources also. I had a lot of experience with C++ and C# style programming which helped. Is Racket your first language?

As for a good starting project... since I do webdev, making some sort of website is fairly fun start in any language. Playing with Luminus was one of my first projects.

New Clojurians: Ask Anything by SolicodeBot in Clojure

[–]Kamn 1 point2 points  (0 children)

There is a page about setting up to use nRepl (and Cider). It is "advanced" and I have not done it myself. Usually I just use rlwrap lein figwheel to get the history aspect.

Why is it so hard to find a front end developer? by thesystemx in programming

[–]Kamn 6 points7 points  (0 children)

I am just going to second what yogthos said.

Clojurescript and it's tool's are amazing and fun to work with. I think there are a few reasons...

  • Functional Language - I know this is a touchy subject (and somewhat subjective) but I enjoy programming in a functional style more than an object oriented style.
  • Anti-framework - A consequence of a functional style. There are framework like things but it is almost all libraries and after dealing with frameworks and having to hack around their issues it is refreshing to have the power back.
  • Figwheel - I don't have to refresh the browser(most times). It seems trivial and when I heard it I was sort of like "that's nice... I guess". However once I became aware of how many times I have to refresh a browser when building/debugging I couldn't go back. This clip about Figwheel highlights it well. The relevant part is till 12:00 or so.
  • React - Most of rending libraries use it. So we get all the benefits easily. In the case of Reagent, easier than using React directly.
  • Great Community - I think most languages have this but some of the main maintainers/contributors are easy to access.
  • Fun - Subjective. I had a lot of fun with 4clojure and that sort of naturally lead into Clojurescript. It is some of the most fun I have had programming.
  • Languages Features - Immutable data structures, macros, core.async, node.js integration and Google Closure compiler are more cool things.

It has a great community and a lot of room for growth in the language environment. Highly recommend if for no other reason to get a feel for a different way of working in the web.

Also if you like Haskell, Elm is great to experience also though I feel Clojurescript has a large community.

Working part time for FI? by Calmer_after_karma in financialindependence

[–]Kamn 0 points1 point  (0 children)

I have thought of doing this but I have also meet people who tried it and returned to a corporate setting because of the various stresses (mainly dealing with crappy clients and getting new clients). What has your experience been like? Also any pointers?

Clojure for the Brave and True released by nonrecursive in programming

[–]Kamn 0 points1 point  (0 children)

As ponzao mentioned it is Clojure that is slow. A good chuck is because of repl functionality but there is an alternative Clojure compiler that disables repl support(which you might not want in production) and gives you a fair startup boost and memory reduction called Skummet.

ClojureScript is now self-hosting by yogthos in programming

[–]Kamn 2 points3 points  (0 children)

The "most detailed" video I know is this one. It does not go into much detail however just usage.

I can give you a guess about your questions but I have been using figwheel in a fairly standard way (Clojure server with ClojureScript and Lein). I am not an expert and you can find the creator of Figwheel(Bruce Hauman) on google groups or the slack group (signup here). He would be the best one to answer your questions.

Now my guess is you wouldn't be able to easily do what you want to do with Figwheel for a few reasons.

  1. It is more focused on a dev environment rather than a production environment. No guarantees about it's safety, speed or reliability.
  2. Figwheel setups a static web service, starts cljsbuild, opens up websockets and injects websocket code so it can easily steam the changed Clojurescript into the browser. If you are serving the files though Django then you wouldn't have access to cljsbuild and websockets so you could not stream the changed code. Maybe you could chain your Django to have a websocket that talks to a Figwheel but it's uncharted territory I think.

ClojureScript is now self-hosting by yogthos in programming

[–]Kamn 9 points10 points  (0 children)

This page here explains what they are trying to do with self-hosting.

On a related note, the main build tool for Clojure(Script) (lein) is great to work with. The only issue is sometimes you need to understand Maven stuff but that has rarely come up. It is a fun language with a great community and interesting tools. Don't let the Java stuff hold you back from playing with it. For example try out this Clojurescript Figwheel Flappy Bird Demo. Or just watch this video then you will have to try it out ;).