Also great work on Dyalog, which I had a personal license to back when I experimented a couple of years ago. I can't recall what my problem with GNU APL was but I quickly found it too painful to try and learn with.
1,117 karma · joined May 6, 2016
Also great work on Dyalog, which I had a personal license to back when I experimented a couple of years ago. I can't recall what my problem with GNU APL was but I quickly found it too painful to try and learn with.
EDIT: I'm quite sure I have scaled resolution but can't check.
Examples:
- Getting what you want will not make you happy.
- It's hard to get what you want. But it's easy to want what you get.
I think it would be better to merge ASTs rather than text files that represent code. The annoying issues with merges are all about the text representation. When there's actually different logic changes in two different directions the merges cease to be annoying and start to require domain knowledge.
Of course getting from this hand-wavey thought to working software is difficult. Perhaps we first need to start focusing more on the tree nature of code even in the editing tools?
For example my commute of about 20km has about 10km that gets cleared early in the morning if humanly possible; maybe 9km that usually gets cleared during the evening; and maybe 1km that may take 3-5 days after a big snowstorm.
(N.b. I ride in the snow for hundreds of kilometers every winter. I know you can take a fatbike to powder snow but that's just too strenuous for most people.)
Would make a nice library name. Wonder if Metosin takes requests...
The only strange use of spec I mentioned is validating db queries. For us updates and deletes are rare enough that perf doesn't matter.
; example: Stream.of(1,1,2,3,5).map(x -> 2*x).collect(Collectors.toList())
user=> (.. (java.util.stream.Stream/of (to-array [1 1 2 3 5]))
(map (reify java.util.function.Function
(apply [this x] (* 2 x))))
(collect (java.util.stream.Collectors/toList)))
[2 2 4 6 10]
Of course it's not practical to convert lists and functions to their Java counterparts like that, but if you need to work with Java objects it's possible.Similarly you can do HTML form validation, etc.
We even use honeysql with nice helper functions that ensure that data-changing SQL queries are of the expected form. Say, you want to update just one row, you have a helper function that checks the honeysql data has a where clause with a unique column and only then runs the query. Someone should maybe blog about that sometime.
What I've found, though, is that trying to use spec like type checking is usually not a great idea. I expect better from static analysis / compile-time checking, with clj-kondo being the most promising tool atm.
Somehow the highly geometrical puzzles don't give me a feeling of achievement. They're not very interesting but do become quite difficult towards the end. But of course many other people just love them.
There are videos of both online if you want to get a better idea.
As a pedestrian/cyclist/driver I'd love to see cars that are basically motorized tents weighing something like 100kg. That would make me feel much safer when outside the car, and much more considerate of others while inside.
If a road has a 40km/h speed limit, and then road features designed for 40km/h are added, what's the penalty? The point is to require the driver to focus, which a good driver does anyway.
My own attempt is at https://github.com/dancek/dactyl-keyboard/tree/less-aggressi... . While I only have the left half built, I'd say that measuring fingers and tuning an ergonomic layout to your preferences works well. I don't expect to see a production keyboard as ergonomic. Ever.
N.b. the amount of work needed for this build is pretty ridiculous. There's a reason that keyboards are usually flat.
Normally when you use a password manager you have to trust the password manager, the browser and the OS. By copying to clipboard you have to trust every piece of software you ever installed and every update they later got.
But yes, I do remember a bunch of important unique passwords, and I do have to reset them occasionally by physically visiting and showing my id.