philix001
philix001 on Hacker News
Posted by
philix001 on Wednesday October 23, 2024 @09:56PM
from the felipe.rs dept.
The spec might not even contain the level of detail necessary for that to be possible. That possibility is what makes modeling easier than implementing the spec.
Through a process of manual refinement, you can derive an implementation from the spec and check every step with the checker, but that's is more work than implementing the formal spec manually and is an most likely an overkill in practice.
People that can write proofs in Coq and Isabelle might prefer that over the TLC approach of exhaustively checking all the possible states allowed by a TLA+ spec. But writing proofs in Coq/Isabelle/Lean/HOL is a more sophisticated skill and requires even more training on the multiple theories available in these provers. The brute force approach of TLA+/TLC is more dependable as part of an engineering process. Some specs can be really hard to prove, but easy to exhaustively check.
Start looking for small opportunities to do something different and bold. Do that before you're asked to do it. Sooner or later you will get "hired" for the kind of job where you get to do the things you described here. That's how everyone else did it.
Posted by
philix001 on Friday April 05, 2019 @04:03AM
from the blend2d.com dept.
Posted by
philix001 on Tuesday January 29, 2019 @03:57AM
from the blog.felipe.rs dept.
Check Regel. It's very flexible and allows you to generate code for different programming languages. It can also work with binary data. Its main application is generation of optimized network protocol scanners.
Posted by
philix001 on Sunday April 01, 2018 @10:17AM
from the gist.github.com dept.
Posted by
philix001 on Saturday December 30, 2017 @06:30PM
from the blog.felipe.rs dept.
Posted by
philix001 on Tuesday July 11, 2017 @04:21PM
from the blog.felipe.rs dept.
They are. I avoided introducing an explanation of Curry-Howard isomorphism because I think that would not be very intuitive to many people because the most commonly used type systems have very little power to express logical properties about the program.
I may write another article about this.
I don't think it's common for programmers to have in depth opinions about type systems. And most of the ones who do may not really know what they're talking about.
Posted by
philix001 on Friday July 07, 2017 @05:44PM
from the blog.felipe.rs dept.
Posted by
philix001 on Saturday February 25, 2017 @09:37AM
from the blog.felipe.rs dept.
And some neovim patches are merged upstream.
async plugins? true color support? If you have a 32-bit color capable terminal you can use any colorscheme and get real RGB colors.
People are free to fork open source projects. tarruda tried to merge the async job system before forking vim. Bram has the right to deny the patches, but the most successful projects are the ones that attract good contributors and don't depend on the output of a single coder. It's easy to say "just make vim better" without really trying to understand Vim's C codebase.
vim's source code is really hard to test. Refactoring is needed to make code testable. That's true for every project that doesn't have tests yet. Another thing that makes it really hard to contribute to vim is that it supports operating systems that don't even exist anymore. I really don't feel like spinning a VM to make sure my changes don't break it on MS-DOS. I would rather send a PR that removes MS-DOS support than support that.
https://github.com/neovim/neovim/pull/635/files
Posted by
philix001 on Tuesday September 23, 2014 @02:18PM
from the blog.felipe.rs dept.
MASM, MS-DOS... 32/64 bit? The hardest thing about learning x86 Assembly is finding a manual that deals mostly with the CPUs ans OSes we use these days.
Accounting is actually a language. It's the language of finance. You're probably confusing accounting with finance.
What if they use BTC as a store of value and not a currency?
For a sufficiently big input (N) polynomial will be faster without any doubt.
There are cases where the lower bound to solve some problems (e.g. sorting) have been proved to be less than any known algorithm at the time.
If you prove that the lower bound for any NP-Complete problem is O(p) where p is a polynomial, then P=NP and you do not necessarily have the algorithm.
http://en.wikipedia.org/wiki/Upper_and_lower_bounds
The offer/demand will adjust the price of the remaining bitcoins. Think of lost bitcoins as a small donation to all bitcoin users.