HNHacker News
TopNewBestAskShowJobs

tiberius_p

96 karma · joined October 13, 2019

Hardware Verification Engineer interested in AI, Spacetech and Simulation software
submissionscomments
tiberius_p··on Ask HN: What resources do you recommend for learning Haskell?
Real World Haskell was pretty good last time I read it. It has lots of concrete code examples that you can use in real world applications. It won't bore you to death with abstract theory and instead it will blend it with real world problems and make learning both fun and useful at the same time.
tiberius_p··on White House urges developers to dump C and C++
Why not encourage the use of smart pointers?
tiberius_p··on Coroutines in C (2000)
Coroutines are good for modelling concurrency which is different from parallelism. Concurrency is useful for abstraction and expressiveness. Parallelism is useful for making your code run faster by running parts of it in parallel on multiple cores. You could make concurrent programs run faster on multiple cores by distributing the coroutines which don't share state on multiple working threads in a thread pool, thus mixing concurrency and parallelism...but they are still two different things with different purposes.
tiberius_p··on Common Lisp's block / return-from and unwind-protect
Lisp is great for creating your own domain specific languages. S-expressions are basically abstract syntax trees written as code. Thus you can take any code written in any language and "lispify" it into an S-expression. Then you can apply various transformations/analyses on this expression to achieve various goals:linting, semantic modeling, compiling to machine code/bytecode, transpiling to another laguage, interpreting, optimizing, etc. Common Lisp also has the possibility of on-the-fly recompilation of classes and methods/functions which can be useful for debug and incremental development.I don't have much experience in the web development area but I would incline to think that you won't get much added value from using CL compared to other languages/frameworks. It can be useful if you want to develop your own framework with custom language constructs and features. But if you want to fast prototype a webapp idea you're better off trying the more popular solutions.
tiberius_p··on 2024-01-01 Emacs News
Emacs is the only viable free and open source IDE for Common Lisp. For other languages I use other IDEs.
tiberius_p··on Age verification is incompatible with the internet
Just have the user calculate an average difficulty integral. If he/she succeeds they are of legal age or very close to it. Even if they use Wolfram Alpha that still denotes some level of maturity which is consistent with legal age.
tiberius_p··on Happy New Year HN!
HN is my goto place whenever I feel bored, sad, lonely, without purpose, lacking inspiration etc. It's amazing how a single website with such a minimalistic design can condense so much quality content and quality people in a single place for the whole world to enjoy free of charge. Thanks and Happy New Year!
tiberius_p··on The Web Is Fantastic
Mastodon is amazing as it offers the same perks as mainstream social media but without all the privacy issues and big tech exploitation of users. But it still feels very detached from the real world. I use facebook or meetup to discover social events near me where I can find like minded people to talk to. There are so many things which I first learned from face to face meetings with real people. Things which I never would have discovered by simply browsing the web on my own. I wish the fediverse and the indie web would provide some simple safe decentralized means to connect real people in the real word the same way mainstream social media did.
tiberius_p··on IDEs we had 30 years ago
I'm not a fan of any IDE brand or company. I'm a fan of features. Any respectable IDE must have the following features: - jump to declaration - autocomplete of fields and methods of an object - autocomplete or tool tips for function arguments - code templates - find all the usages of a variable, type or function - rename variables, function, types etc. all over the code base(and do it correctly not blindly like with sed) - select a piece of code and extract it into a function - select multiple fields and methods and extract them into a separate class - highlight pairs of parentheses, brakets, curly braces and be able to jump between them - highlight searches - show line numbers - search/replace text in current file or over multiple files(aka grep and sed but integrated into the UI) - be able to open a terminal in a pane - search for a type all over the code base - search for a global function or variable all over the code base - display tree of included files(for languages that allow including other source files like C++) - display tree of subtypes/supertypes of a specific type - display a list of all overrides of a method and be able to jump to them - semantic checks(e.g. check that the types of the arguments in a function call match those from the function declaration - of course for languages that have a type system) - display syntax/semantic errors as I type - a file explorer should always be easily accessible - automatically select the current file in the file explorer; be able to turn this behavior on or off - Copy the full path of the current file to clipboard - Copy the name of the current file to clipboard - Autoformat the code - Autoindent - Syntax highlight - debugger integration - build system integration - display an outline tree of the source code ine current file - have a local history of all the changes to a file - version control integration - diff between current and previous version of the current file - search files by name in the entire code base - when many editor tabs/buffers are opened, search through them by file name - spell checking in comments, be able to turn it on/off - generate documentation from comments - fold/unfold code blocks - replace tabs with spaces - show special characters - block editing - place coursor in multple places and perform the same editing changes in multiple places at once(like in sublime) - jump over paragraphs - jump to beginning/end of file - open documentation of function/class/type/etc. under the coursor - set bookmarks in code - have a history of searches and be able to redo older searches - list all TODOs/FIXMEs from all over the code base - split panes vertically/horizontally - textual autocomplete (meaning autocomplete if identifier is already present in current file) - linter integration - UML diagram generation - erase the current line with a single key binding - move current line up/down with a single key binding - display object instance tree - and possibly many others that I just can't remember right now...

Now I don't care if it's vim, emacs, vscode, eclipse or jetbrains offering these features. From experience I learned these features make me most productive...coupled with command line tools it gets even better. So if these features/tools are available in an IDE/tool suite then I'm a happy programmer and I will use them. I don't have time to be a fan of this editor or that editor...even though I do like to enable vim key bindings if they're available once in a while.

tiberius_p··on New clues emerge toward possible life on Enceladus
You would need to be able to predict when and where these plumes will take place and then calculate the orbital maneuvers needed to intersect the spacecraft with those plumes. This will be very hard to achieve with a 1+ hour communication delay. Most likely you'll have to rely on some autonomous AI based on some sort of reinforcement learning algorithm. Also, orbital maneuvers that involve changing the orbital plane are very expensive in terms of fuel consumption. So first there will have to be an observation stage to determine which orbital plane is most likely to encounter a plume and then explore various orbit trajectories inside that plane until enough samples are collected.
tiberius_p··on YouTube doesn't want to take down scam ads
This creates a legitimate reason to use an adblocker.
tiberius_p··on "vi – How do I exit Vim?" on stackoverflow viewed +3M times
The vim startup screen clearly explains how to exit vim and how to help poor children in Uganda. I don't see the point of this meme. https://i.stack.imgur.com/RjuBp.png
tiberius_p··on My Fediverse use – I'm hosting everything myself – PeerTube, Mastodon and Lemmy
Is there a way to have like a backup cloud solution in case my electricity goes down at home and my self hosted server shuts down? Some cloud service that does nothing most of the time except backing up data from the self hosted server from time to time and monitoring if it's up and connected to the internet, and if it's not then it takes over and offers the same service.
tiberius_p··on Crypto Crashed and Everyone's in Jail. Investors Think It's Coming Back Anyway
I don't get it...cryptocurrencies were meant to facilitate the transfer of money not to make people rich. Use it for what it's meant to be used - to make payments. Generate a wallet using python, deposit a small amount of cash at the nearest crypto ATM and use it like a normal bank account. And make small payments because it's volatile and your money might get lost on the way to its destination.
tiberius_p··on Ask HN: Tell us about your project that's not done yet but you want feedback on
I'm working on SystemLisp, a lisp dialect for hardware design and verification based on CommonLisp.
tiberius_p··on Computer memory prototype ditches 1s and 0s for denser data storage
Learn what's the deal with the Fourier Transform and the Z transform. Then learn how to design some digital FIR filters. Oh and do learn about the Nyquist-Shannon sampling theorem, it's very important. And that's about it...just joking, there's tons more. But that would be a good start.
tiberius_p··on End-of-Life Dreams
I wonder, would it be possible that the human body has some sort of "shutdown mechanism" when it realizes that it simply doesn't have enough resources to carry on as usual? I imagine this mechanism would turn off the pain centers and the fight or flight responses needed for survival and instead make the experience of passing away more acceptable, relaxing, maybe even pleasant. Steve Jobs' last words were: "Oh wow, oh wow, oh wow". I can't help but wonder what he was "wowing" about?
tiberius_p··on The Hard Part of Learning a Language
story of my life
tiberius_p··on Sentient: a high-level, declarative programming language
this is something that hardware verification languages like specman-e and systemverilog have been doing for decades
← PreviousPage 2 of 2