HNHacker News
TopNewBestAskShowJobs

6thaccount2

393 karma · joined June 16, 2019

submissionscomments
6thaccount2··on Composable multi-threaded parallelism in Julia
Agreed.
6thaccount2··on Picat – a logic-based multi-paradigm programming language
Not entirely...mostly the HN topic effect.

Someone posts something on x obscure subject and people find it interesting and then research x on their own and post about x a lot.

6thaccount2··on Tamgu, a functional, imperative, logical programming language
Exactly!
6thaccount2··on Composable multi-threaded parallelism in Julia
Python's performance is less of an issue when you use libraries like Numpy that are basically running optimized C code.

Depending on what you're doing, Python is usually great at performance where the time it saves the user writing code is more valuable than the performance itself (a lot of exploratory scientific research).

6thaccount2··on Tamgu, a functional, imperative, logical programming language
I like the idea of having something like PROLOG/minikanren builtin to the language.

Prolog is neat, but I wouldn't use it for text processing and database access, so the logic programming piece to me makes better sense as embedded functionality in a more general purpose language, which is what I'm guessing you did here?

6thaccount2··on Composable multi-threaded parallelism in Julia
I think some finance groups are probably putting in some donations if I had to guess.
6thaccount2··on A Peculiarly Dutch Summer Rite: Children Abandoned in the Night Woods
That sounds like a lot of fun to be honest.
6thaccount2··on A Peculiarly Dutch Summer Rite: Children Abandoned in the Night Woods
"Night Infiltration" is one of the coolest activities I've had the pleasure of doing and I'm in my 30s now. I'm not sure how many troops do it. In my area, only our troop did it on our monthly camp out and I'm fairly certain our troop invented it, but that could be false.

https://boyscouttrail.com/content/game/night_infiltration-42...

The above blurb does it poor justice though. Imagine a boy-led troop with around 60 scouts on a camp out and nearly zero adult involvement outside of transportation. We had a leadership group of boys in highschool (usually 16 & 17 year olds) and they performed the roll of sentries (~6 boys) and they had flashlights. These represented sniper rifles. Each sentry got one shot (straight line...they can't wave it around) before having to loudly count to 10 representing reload time. I'm from the American south where hunting is big, so it wasn't uncommon for full on camoflauge from nearly all participants...even those rediculous suits you see snipers wear in movies. There is one hidden individual making a quite noise every 20 seconds or so (you'd have to be pretty close to hear it). There are two teams and each scout (X or O team) tries to sneak their paper message (X or O on it) to the hidden individual if they can find them. At the end of the game, the team with the most messages wins.

This is always at night and very dark in pretty thick woods. Running is absolutely forbidden as so many scouts have twisted ankles or even broken collar bones by running at night. If you get "shot" by a sentry, you have to go back to base to get another message (like respawning) and I think there is a wait period. If someone in your group finds the hidden agent, they'll naturally want to get the word out to all their fellow group without letting the other team notice, but it can sometimes be difficult. A fascinating and super fun game. In all the years I played as a non-sentry, I only found the hidden agent on my own a few times and with help a few more times. There were games when I never even found him and had to ask afterwards and was blown away by the location sometimes (inside a thorn thicket wth). It was always an amazing experience though. We played on a very large area too depending on forest density. The thicker the foliage, the smaller the need for additional area. Keep in mind that this is a pretty dangerous game from an injury frequency perspective. I'd also recommend the buddy system is used to prevent someone from getting injured and lost (think unconscious). I'd also only recommend playing in areas with no predatory animals (I wouldn't play this in New Mexico where bears and cougars exist).

6thaccount2··on Cosmic Crisp Apple Launch
To me, Envy is considerably better than Fuji.
6thaccount2··on A Differentiable Programming System to Bridge ML and Scientific Computing
Awesome! I wish I could give you a real industry one (even bigger), but a synthetic model should adequately reflect the problem domain and they have been the primary models used by researchers in my field for the past twenty years or so.

Edit: which Julia group should I get into contact with over this?

6thaccount2··on A Differentiable Programming System to Bridge ML and Scientific Computing
Is there a general way to do this with many of the libraries in Julia?

Any chance ya'll could eventually use a test model and script from me in a benchmark test suite.

Ex: I have a large synthetic test model from a university and plan on writing some code that uses a bunch of the sparse matrix and linear solve functionality of the language. This would be on a sparse ~70k row/column square matrix.

6thaccount2··on A Differentiable Programming System to Bridge ML and Scientific Computing
Is the performance equivalent in your scenario?
6thaccount2··on Design Patterns in Dynamic Programming (1996) [pdf]
Agreed. The way I code would need to flip-flop if I was more involved with the writing of large software projects.

Funny enough though. Those that I work with still write a lot of what I would call scripts, but they're super over architected and a lot of time is wasted and it is hard to read them. Sometimes simplicity is best as you observed.

6thaccount2··on Design Patterns in Dynamic Programming (1996) [pdf]
Paul Graham save us all ;)
6thaccount2··on Design Patterns in Dynamic Programming (1996) [pdf]
Yep...there are dynamic languages (Ex: APL and Common Lisp) where you can use OO primitives, but it usually isn't as encouraged if at all. I don't recall hearing much about proper design patterns in those languages. I'm not saying they don't exist, but it isn't a big deal. Smalltalk on the other hand forces you to do OO and I just read most of a book on the proper design patterns to use in it. It certainly isn't as bad as when I started to learn Java (it's almost a minor miracle to me that as much stuff gets built in Java as it does with all the straight-jacket boilerplate it has) but it is definitely there. Especially in the scripting arena (shorter programs of maybe a page or two) I find that nearly all OO scripts I see would generally be shorter and clearer as a few global data structures and some functions to operate on it.
6thaccount2··on Powering a Mainframe
I'd love to play with one as well and look forward to the later posts in this series.

There has been a lot of mainframe related posts on HN lately.

6thaccount2··on Owl – OCaml Scientific Computing
Yea as someone with a little Julia experience looking at this, OCaml just seems to have a lot of boilerplate in weird areas.

The first thing I do when evaluating languages for myself is to look at processing text files line by line or all at once and splitting strings. If that is complicated, then the language might not be well suited to my needs.

With types, a repl, native support for scientific computing and sparse matrices, LLVM JIT, LLVM assembly code inspector, all kinds of macros and support for macros, s-expression macro inspector, speed, easy package manager, large community, good graphics packages...etc, I'm really liking Julia.

6thaccount2··on Cobol Still Powers the Global Economy
I assume the focus is on big businesses and banks that can afford those numbers.

Kind of like how KDB+ is so expensive as they're targeting a niche audience. Even though that is purely software.

6thaccount2··on Cobol Still Powers the Global Economy
Thanks for the helpful background. I think what I said still stands though.

In the PC world, my computer has a certain number of FLOPS even though it has no impact on my day to day work where I care more about RAM and such.

6thaccount2··on Cobol Still Powers the Global Economy
Like user bin0 said below, a mainframe can do 30k to 1.1M transactions like wire transfers in a second.

They also have rediculously high up times and much higher security (probably mostly via obscurity).

Unfortunately, they're insanely expensive.

6thaccount2··on Cobol Still Powers the Global Economy
Why? It is fairly close to the metal and runs on hardware DESIGNED to be fast for transactions. IBM mainframes aren't even expressed in flops but some other unit designed to represent transactions per second.

Edit: googled it and they use MIPS (millions of instructions per second).

6thaccount2··on Ownership and Borrowing in D
Not to go too far off topic, but I just wanted to say how much I've been initially pleased with D.

For a long time I've wanted a language that I could use with just a text editor and the command prompt or terminal.

I've been able to get programs to easily compile on both my Linux home and windows work machine without any complex install magic as it should be in my opinion. The programs produced were binary executables and tiny to boot (especially Windows where HelloWorld was ~367 KB iirc and ~1.1 MB on Ubuntu).

It is nice to not need an in-depth understanding of the JVM or CLR. The hardest part for me (I usually favor languages like Python) is not having a REPL, but I'll live.

The one place where I could use some help (similar to most of the advanced languages... although Rust is good here) is in the documentation which is more meant for power users than onboarding new folks. Compare and contrast the Nim section on types with D's classes/structs/unions. The D documentation is more like a reference manual and Nim is more tutorial. I think I'll try Andrei's book and see if that gets me far enough to where the technical doc becomes straightforward.

On another note, I see D has some functional programming support. If possible, I'd like to avoid having to model my own domain logic with OO classes. Is the proper way to do this with structs and the stdlib's map!, fold!, & filter! constructs.

Sorry for rambling!

6thaccount2··on Interesting Programming Languages
I do think "to a fault" is subjective, but things like Prolog make a great example. Prolog is really cool and useful, but it makes anything except for the queries a real nightmare and will therefore never takeoff as a general purpose language. That's all I'm trying to say. Languages like Perl allow you to do logic programming with logic programming libraries, but also make text processing a breeze.

Take it with a grain of salt of course. Smalltalk is amazing, but the way you store code in an image isn't for s everyone.

I don't understand your last paragraph...can you please elaborate? What cute sayings are you referring to?

6thaccount2··on Interesting Programming Languages
I guess we need to distinguish between mainstream and HN mainstream haha.

I like PicoLisp and wish it was more popular. There are some decent resources on it and the mailing list is pretty active.

I kinda disagree with the primary author's "need for speed" article on why performance doesn't matter anymore. I think there is definitely the majority of common uses in the business where he is right, but we're getting to a point (think data science) where faster is better and necessary. Using C++ is still too painful for most (pointers anyone), so I'm betting languages like Nim, Rust, and D will continue to grow in popularity to some degree.

6thaccount2··on Interesting Programming Languages
I've been meaning to check out Klong for ages and the accompanying book. Thanks for doing this work Niles!
6thaccount2··on Interesting Programming Languages
Lol nope, not gatekeeping programming languages :)

The above are all pretty cool though and each (as Larry Wall would put it) are the perfect examples of modernism. Each one takes a single idea to a fault.

Lisp => lists, Haskell => functions, Scheme => lists and recursion, Prolog => logic, Smalltalk => objects, Forth => concatenative and extreme minimalism, and APL => arrays.

Most post-modern languages combine many of the above in more practical and less elegant ways. Python is OO at heart, but can be written in a functional style, and can do array programming with Numpy.

So there is value (I think) to looking back at those languages from an educational point of view even if you're not using them in your personal projects or production.

The more novel ones that the author posted are probably also educational in their own way, but probably don't ram just one idea home. I think we're mostly past that now as Wall has stated. Perl6 might not run very fast or be very mature or popular, but it is a very interesting language that does a good job showing the post modern system. It pulls what the language designers felt were the best features from all the past languages (Perl5, Python, APL, Haskell, Smalltalk, Awk, Java, C#...etc).

6thaccount2··on Interesting Programming Languages
I've talked with the author of kitten before and he's responded before when it was put on HN. I haven't looked at it in awhile, but I do like the concept.

I've read a little on Picat.

6thaccount2··on Interesting Programming Languages
Ah that makes sense then, and I have no issue with the list. I learned of a few new ones to try too!
6thaccount2··on Clojure’s Approach to Identity and State (2008)
This is really good and thank you kind internet stranger!
6thaccount2··on Clojure’s Approach to Identity and State (2008)
I believe there is a limited trial yes, but corporate IT always has hoops to go through
← PreviousPage 5 of 8Next →