HNHacker News
TopNewBestAskShowJobs

jasonjackson

316 karma · joined March 28, 2011

submissionscomments
jasonjackson··on Tour of our 250k line Clojure codebase (2021)
If you look at redplanetlabs github repo, there's a ton of low level manipulation of 'JVM bytecode assembly language', e.g. https://github.com/redplanetlabs/defexception/blob/master/sr..., for projects that aren't even compilers, one would assume their "compiler" does this even more so.
jasonjackson··on Tour of our 250k line Clojure codebase (2021)
The founder has released successful large projects in the past, e.g. Apache Storm used by Alibaba, Yahoo, Twitter, etc. Probably just need to wait a bit longer.
jasonjackson··on Tour of our 250k line Clojure codebase (2021)
You can write 'type signatures' easily in clojure code, there's dozens of options, they're just only checked at runtime (and usually relegated to developer builds). if you combine that with good code coverage, it stops being a weakness and starts being a strength, because you declare data types with far more specificity & precision than a static type system.

As rich likes to say, the type signature of your stereotypical statically typed language, e.g. reverse :: [a] -> [a], doesn't have a much information content.

I write clojure, and still 'think in types' & category theory.

jasonjackson··on NixOS on M1
external display over HDMI works on mac mini & studio
jasonjackson··on VMware Fusion 13 – native support for Apple Silicon Macs
I've been using the beta every single day.

I run a NixOS VM on my Macbook Pro, its transformed the way I develop. Checkout Hashicorp founder's NixOS setup here https://github.com/mitchellh/nixos-config

jasonjackson··on Agile sucks for software development and I’m tired of pretending it doesn’t
kind of reminded me of this post https://twitter.com/marius/status/1590056610625650688?s=20&t...

agile is for people who prefer 'classical music' working style, but want to simulate start-up mentality

jasonjackson··on Ultra fast Thunderbolt NAS with Apple M1 and Linux
probably, but thunderbolt would cost 5x less for equivalent 40Gbps NIC
jasonjackson··on 5-MeO-DMT: 20-minute psychoactive experience that’s transforming lives
I like Salvia the most (not for the faint hearted) partly because of how unusual/odd experience it is it doesn't imprint me a bunch of spiritual beliefs afterwards. I feel like I learn more about the mechanism of perception from it; albeit in an uncomfortable way.
jasonjackson··on VW Just Gave Tesla a $25B Battery Shock
Isn't tesla's competitive advantage that they don't buy their batteries from the current supply chains? Even the total world's supply of lithium ion batteries wouldn't be enough to provide for model 3 program.
jasonjackson··on The Next Five Years of ClojureScript
Yes, I think those are all valid points/weaknesses. While I don't personal struggle with understanding the internals of git or om.next the learning curve is no joke. The community is aware of this, but it's still alpha software they're working on it. I actually think of om.next more like a library than a web framework. As a library it has many degrees of freedom in how it can be composed and i imagine the author prioritized flexibility/generality over concreteness, and a lot of work is still left up to the user in filling in the blanks of a full fledge web app, untangled (https://untangled-web.github.io/untangled/) is one project tries to fill in all the missing gaps and expose a framework API, much better documentation, more concrete than om.next.
jasonjackson··on The Next Five Years of ClojureScript
Om.next shows it's strength when you're working on a complex application 5k+ lines of code. A core abstractions of om.next (and graphQL) is to express data dependencies of your react classes in a query language (e.g. component X depends on data title, author, created, updated), then the logic around how to fetch data, refresh data, cache data or access cached data, update data, deduplicate data when it's needed in many places, optimistically update client-side data and wait for server-side data to synchronize is all disentangled from the logic on rendering complete data, missing data, data being loaded, reacting to user events, etc. In a smaller code base expressing these data dependencies would just seem tedious (writing graphQL or query expressions), but it pays up big time in larger applications.
jasonjackson··on The Next Five Years of ClojureScript
we're using untangled framework in production, I can't say enough good things about it.
jasonjackson··on Jepsen: VoltDB 6.3
I hadn't heard of VoltDB until now, but have been following jepsen for a while. I wish more project did what you did. Congrats on the increased reliability.
jasonjackson··on Spacemacs 0.105.0 released
I love Spacemacs, I'm a total convert I barely ever use vim now -- best of both worlds.
jasonjackson··on The cure for procrastination? Forgive yourself
"My hypothesis is that I procrastinate on those things that I was naturally good at during childhood" Yup exactly, because there's an intense emotional connection to those activities, so we avoid them sometimes since they produce feelings of vulnerability.
jasonjackson··on The mmap pattern
I believe this would qualify as a Java library https://github.com/peter-lawrey/Java-Chronicle

"This library also supports distributed, durable, observable collections (Map, List, Set)" "It uses almost no heap, trivial GC impact, can be much larger than your physical memory size (only limited by the size of your disk) and can be shared between processes with better than 1/10th latency of using Sockets over loopback."

jasonjackson··on What Makes a Good Programmer Good?
If you have a passion for something, you'll want to spend every waking hour on it.

I miss the days of childhood though where I could build what I want on a whim, at large companies you don't always get to build what you want to during the times of the day they pay you.

jasonjackson··on Parts installed “upside down” caused Russian rocket to explode last week
Note to self: when you see the rocket crash with your eyes, count to 5 seconds then cover your ears.
jasonjackson··on Haskell in Production: 12 Months Building ApiEngine
Cool, this can be done in any language with typing. For languages with dynamic typing, you would just check the type at runtime.
jasonjackson··on Unless you're a founder, startups do not pay out
I think this is particularly true if you want to ever become CEO or VP of a much larger company. How else do you prove you're fit to lead a company or division except by a start-up betting it's future on you. I don't know what the stats are but I've seen a lot of higher ups come from start-ups (in particular acquisitions) as oppose to people slowly getting promoted and climbing the corporate ladder.
jasonjackson··on A new Light Table experience
I for one am glad you're nailing the editor part first. Because if this is ever to replace my usage of emacs, you have to at least get that part right. This hasn't yet replaced my emacs, but i'm more optimistic now. Some editing features missing are paredit, viewing source code of a clojure core function. (Alt-. in emacs.) When you eval something and it never terminates, you need a way to kill that thread. For IDE like features, #1 on my list is refactoring clojure code quickly, e.g. renaming symbols. As someone who's anal about prioritizing time, I don't ever customize the themes, etc, I just want killer useful features that save me time and "just work".
jasonjackson··on Why I Program in Go
I don't understand either. Let history decide, we use Clojure & Java for server-side stuff it saves us countless hours/problems.
jasonjackson··on Why I Program in Go
Go can't do immutable updates efficiently (yet) because it doesn't have a persistent data structure implementation for vectors, maps, sets, etc.
jasonjackson··on Avoiding "the stupid hour"
These articles pop up all the time, as if people hadn't had the foresight to realize their brain function decreases when they don't sleep. Sleep deprivation is a tool which allows you to sacrifice some degree of brain functioning (different for each person) to gain in other areas like meeting hard deadlines, or taking advantage of your programmer flow state, or the positive feeling you get knowing you grinded away at a task non-stop until completion.
jasonjackson··on It's Playtime - Light Table Playground released
i'm interested to see his solution here.

how will this development style mesh with infinite loops, and side effect code.

jasonjackson··on It's Playtime - Light Table Playground released
It works perfectly on mac. Great work Chris, this demo gave me a sense of an Apple product "it just works", i typed in code and immediately it just worked.
jasonjackson··on Watch Morley Safer Lie in Real Time, on 60 Minutes
tl;dr Guy upset with the tiny snippet of himself on 60 minutes and how it made a false claim about what he was teaching.
jasonjackson··on FBI pushing for surveillance backdoors on websites
I can't imagine how this ability would combat terrorism. It's trivially easy to write your own communication software -- why would anyone doing serious crime use Skype?

On the other hand, now the government gains widespread power over the vast majority of innocent citizens.

However, it's also worth noting that this request is merely reinstating wire tapping abilities that the government once had over communication before the rise of the internet.

jasonjackson··on Hacker who stole Facebook source code comes clean
Nothing seemed missing to me.

I think he thought that Zuckerberg/Facebook would emphasize with what it's like to be a white hat hacker, be very curious, challenge yourself and then let him off the hook. Other companies have been known to hire hackers after getting caught.

One thing that didn't really add up is he never turned himself in after committing the crime. He waited 3 weeks? That places doubt on his intentions. Maybe he just freaked out.

jasonjackson··on Paul Graham PyCon 2012 keynote
For the morality question, if I was PG, I would've just said that my passion is to provide -you- the user/the world with what you want, so if there's no demand for it, then I won't build it.

Entering into a discussion about objective morality is a dead end.

Page 1 of 2Next →