Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
pyjarrett
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
10 ms
·
61.
▲
by
pyjarrett
4y ago
You can get going with the Alire package manager which installs the Free Software Foundations GNAT compiler (part of GCC) in a few minutes: https://ada-lang.io
62.
▲
by
pyjarrett
4y ago
Interesting, thanks for the correction. So the human insulin is $25, and the newer analog types of insulin are the super expensive ones.
63.
▲
by
pyjarrett
4y ago
It's crazy to me that the patent for insulin was sold for $1 so it would be accessible, and now it's one of the most expensive liquids on the planet. A month's supply is around $500 for two little bottles, required for someo
64.
▲
by
pyjarrett
4y ago
I know the feeling of this post, but not at the level this person received. I did several weeks of work, a few hours a night modernizing some docs. This included reverse engineering and rewriting a Markdown target for an autogenerated docu
65.
▲
by
pyjarrett
4y ago
My referenced program is just proven for input sizes. If I wanted to do something to validate an entire program subset similarly, I'd make a type with the bounds I needed that gets fed into that algorithm which is proved for those rang
66.
▲
by
pyjarrett
4y ago
> how could this ever be proven to never go out of bounds? I've done this in Ada/SPARK. My simple_regex implementation of Rob Pike's algorithm [1] based on this blog post [2], is proved not to crash on overflow or bounds c
67.
▲
by
pyjarrett
4y ago
You can enforce newtype on strings, or also use a dynamic predicate which checks at runtime. https://ada-lang.io/docs/arm/AA-3/AA-3.2/#324--subtype-predi...
68.
▲
by
pyjarrett
4y ago
I agree that it sounds really stupid up front, but it's done when you're just you modeling the constraints of the problem. I've found that it saves a lot of time in debugging and silly mistakes later. For types with invarian
69.
▲
by
pyjarrett
4y ago
Not just that, but it also often does so efficiently and doesn't incur a runtime penalty (for new type and static predicates) and will reuse previous function definitions as well. These are the sorts of cases with function parameters i
70.
▲
by
pyjarrett
4y ago
C++'s "Curiously Recurring Template Pattern" template <typename T> class Foo {}; class Bar : public Foo<Bar> { ... }; https://en.cppreference.com/w/cpp/language/
71.
▲
by
pyjarrett
4y ago
> Unlike Ada, Rust has a modern toolchain We have a modern toolchain too :) # install compiler and build tools alr toolchain --select # make, build and run a project alr init --bin my_project alr build alr run
72.
▲
by
pyjarrett
4y ago
See https://ada-lang.io/ and https://learn.adacore.com/
73.
▲
by
pyjarrett
4y ago
Yes. Their tactile and physical nature helps me remember things. They also don't run out of batteries and I write notes in them. I also spend a lot of my day looking at screens, so it's nice to have something which isn't a
74.
▲
by
pyjarrett
4y ago
"Stripped". It's about the comic book industry. It's also one of the few times that Bill Watterson, creator of Calvin and Hobbes, has been recorded. This resonated with me due to the pressure on cartoonists to constant
75.
▲
by
pyjarrett
4y ago
The great thing about Ada/SPARK is that it has a package manager now (Alire). This means there are existing SPARK packages you can use, and you can share what you make. SPARK is also an Ada subset, so you can use verified components
76.
▲
by
pyjarrett
4y ago
I focus on areas I'm curious about, it doesn't matter whether or not it's super applicable at the time. The most important thing about hobby work is that it's about fun and edification. Keeping four languages in my back
77.
▲
by
pyjarrett
4y ago
It's a bit early in its lifecycle to get too excited for features which already exist in other languages. Carbon is exciting because of C++ interoperability, but I already get this behavior today in Ada. type Point is record
78.
▲
by
pyjarrett
4y ago
This comment wasn't meant to disparage C++, more to draw a comparison. As a C++ programmer, I find Ada very familiar in many ways, despite what would appear to be wild differences in surface syntax. A lot of things I do in C++, I can
79.
▲
Ada/Spark Crate of the Year 2022 Contest
(blog.adacore.com)
1 points
by
pyjarrett
4y ago
|
0 comments
80.
▲
by
pyjarrett
4y ago
> Q: But why would I want to use Ada at all in the first place? Isn't it just some kind of historical language? Ada is a peer language of C++, which is still in use today. I did a presentation at FOSDEM giving a high-level overview:
81.
▲
by
pyjarrett
4y ago
A lot of Ada open source development uses Alire, which can install a toolchain for you: https://alire.ada.dev/
82.
▲
by
pyjarrett
4y ago
Physically Based Rendering by Matt Pharr, et. al. It's an entire ray-tracer explained in the literate programming style.
83.
▲
by
pyjarrett
4y ago
Alire really is a game changer. In maybe 5 minutes you can have a toolchain setup for building Ada code. On top of this, since Ada/SPARK can be mingled and Alire is a package manager, you can pull in plain Ada code and also formally
84.
▲
by
pyjarrett
4y ago
Most of us aren't out to rewrite anything. There's not many of us, we're just using Ada to write things. There's a bunch of work at https://alire.ada.dev/
85.
▲
by
pyjarrett
4y ago
Fossil SCM ( https://fossil-scm.org/home/doc/trunk/www/index.wiki ) It's almost like Git + Gitea, all in a single application. Code + tickets + wiki + notes all version controlled and capable of host
86.
▲
by
pyjarrett
4y ago
Either Go or Rust would be great. They're both good alternatives to C. D, Zig, Crystal, Nim are other ones you might consider. An alternative to these that I use for hobby projects, is Ada. It's weird and most people laugh at m
87.
▲
by
pyjarrett
4y ago
Ada has had this built-in for decades, and even allows selecting from one of multiple waiting queues (entries) using a `select` keyword.
88.
▲
by
pyjarrett
4y ago
Ada is often used in microcontrollers where this is very common. I write command line tools in Ada, and some other things, I've found this bit layout very useful when reading/writing binary file formats, or when binding to C and m
89.
▲
by
pyjarrett
4y ago
I used DaVinci Resolve 17 (the free version) to put together my video for FOSDEM. I had no previous video editing experience, but I tried a few programs and this one was by far the easiest for me to use.
90.
▲
by
pyjarrett
4y ago
The name is a reference to the filters operating on the text in smaller contexts rather than being entirely line based. I looked for a bunch of terms about division and filtering and this one seemed to fit best, while also being short and
More ›