Hacker News new | past | comments | ask | show | jobs | submit | agentofuser's comments login

SEEKING WORK | UTC-4 | REMOTE | React, TypeScript, Gatsby, Next.js, IPFS

## Contact:

Email: hn@agentofuser.com

Website: https://agentofuser.com

## Background:

- Brazilian "Ivy League" Computer Engineering education (University of Campinas)

- 10+ years of software engineering experience

## Seeking:

- Preference for work with static site generators, landing pages, markdown/MDX blogs and documentation websites for developer-focused businesses and startups

## Show HN:

I'm the author of IPFS Deploy[0], a zero-config CLI with great developer experience for deploying static websites to IPFS.

- Its Show HN[1] was on the front page for 10+ hours

- It is recommended by Cloudflare's official docs for their IPFS Gateway

- It got adopted by Protocol Labs (authors of IPFS) who have taken up its maintenance

[0]: https://agentofuser.com/ipfs-deploy/

[1]: https://news.ycombinator.com/item?id=19801546


I'm hoping at some point a brave team of enthusiasts decides to try making a business out of modernizing emacs (code and process), like the onivim2 people are doing for vim.

What do you think of forks like Remacs / emacs-ng?


I think emacs-ng shows great promise. You should join their chat: https://gitter.im/emacsng/community


SEEKING WORK | Brazil @ UTC-4 | Remote only | Gatsby, React, TypeScript, IPFS, Rust

Background:

- Brazilian "Ivy League" computer science education (Unicamp)

- 10+ years of software engineering experience

- Startup experience as founder funded by Start-Up Chile program

Seeking:

- 10-15h/week, ongoing maintenance or short-term work preferred

- Static site generators, pandoc, and obscure markdown flavor wrangling are a current specialty

- Also like to do technical (copy|)writing and online devrel-type work

Main claim to fame is being the author of IPFS Deploy, a zero-config CLI with great DX for deploying static websites to IPFS.

- Its Show HN was on the front page for 10+ hours

- It is recommended by Cloudflare's official docs for their IPFS Gateway

- It got adopted by Protocol Labs (authors of IPFS) who have taken up its maintenance

Email: hn@agentofuser.com

CV & links: https://agentofuser.com



I have no idea how to read or make sense of these definitions. I mean semantically and grammatically. What should I read if I want to understand those snippets and how/why they do define what an addition is?


The first confusing thing is the type signatures. Concatenative languages pass everything around with a stack so here the double dash separates a top part of the stack before application from what the application of the word transforms that bit of the stack into, so:

  succ : Nat -- Nat
means that if you can prove there is a Nat, n on the top of the stack, you can do succ to replace that with a Nat, succ n. Similarly we have:

  + : Nat Nat -- Nat
Which says if you have two Nats on the top of the stack you can do + to get a single Nat.

The next weird thing is pattern matching. + is defined with two cases. The first is:

  zero + = id
Which makes some sense: to add zero to x, do nothing. Making up a variable syntax it would look like:

  <x> zero + = <x>
The pattern matching on the next line is harder:

  succ + = + succ
Which (making up syntax again) says that if your stack looks like:

  m n
And n = succ k:

  m (succ k)
And you do +, you “unapply” succ to get a “stack” that looks like:

  m k succ
With the application of + shown:

  m k succ +
And this matches the pattern above so we transform:

  m k + succ
And evaluate:

  (m+k) succ
  (m+k+1)
  (m+n)
I think this is a rough idea of how the basic types work:

  Denote a “stack” of types (e.g. Nat Nat above) as [a], and single types a.
  If e : [a] -- [b] then for any [c], e : [c] [a] -- [c] [b]
  If dashes are omitted from a type a, it is the same as the type -- a (ie [b] -- [b] a for any [b])
  If e : [a] -- [b] and f : [b] -- [c] then e f : [a] -- [c]

  To define a word w : [a] -- [b], e w = f is a valid clause if:
  1. e has type [c] -- [a]
  2. f has type [c] -- [b]
  3. e is a valid pattern (ie made out of constructors (?))
I guess the rest of the typing rules are more complicated.


The syntax is a bit peculiar, but they defined the union type Nat, defined the function + which takes two Nats and returns a Nat (which they defined in a thoroughly confusing point-free way because the language is concatenative), and demonstrated the associativity of +.

If you read any introduction to dependent types, they will do this.


Ok, now I get it... I was just lost in the syntax.


It's unbelievable how entitled people can be towards things that are published for free by authors who owe them nothing.

Mirth hasn't been released. I found it and decided to share it.


> Mirth hasn't been released. I found it and decided to share it.

So you are actually doing it a disservice. Perhaps the author intended a larger release with better docs and examples (or no release at all if it’s a toy project).

But now it will be yet another “ah, one of those languages with no documentation or viable use cases”.

Languages are a dime a dozen, there are several of then on HN each weak. “How dare you demand something from something made for free” is not a credible defence for anything.


A Forth-y with types, let alone dependent types, are not ‘a dime a dozen’.


Neat! Anyone with more understanding can point out differences with statebox[1]? Both seem to be:

- visual and textual

- purely functional

- dataflow-like

I get the feeling that statebox might not be turing complete (guaranteed termination) and have a stronger focus on formal verification. Also, it doesn't seem to have a visual editor yet.

[1]: https://statebox.org/what-is/


hi,

I know Statebox pretty well :)

Luna not super well, but I did beta test their first release (and some later versions), cool stuff.

Anyway, the two are (feature wise) very similar, as you noted:

- both have textual/visual representations, - are typed FP languages, - access to FFI/effects, - diagram nesting

But Statebox is _not_ data-flow, it's more about "control flow" or "multi-party protocol execution". (You could do data-flow with Statebox, but at the moment that's prohibitively inefficient.)

Where Statebox takes a different direction (I think) is in basing the language on established concepts from category theory and focussing on 'generality/compositionality' ; specifically, our diagrams are not "graphs", but (morphisms in) categories.

This difference is very very subtle, in fact, seems totally irrelevant if you want to visual programming (see the nice codex, clearly it works using graphs!)

but it becomes more important when you want to diagram's to be "universal". at least in principle, the Statebox language should naturally and compositionally translate to any kind of hardware ; we want you to be able to program smart contracts, p2p-systems, JS frontends, digital circuits, heck, maybe even slime molds, all from the same diagram.

Luna certainly has more features at this stage.

(also, our editor is under heavy development and not yet published, we are aiming to release some things around the statebox summit in september)

Maybe it's fair to say: Luna is like a better NodeRED, Statebox is conceptually closer to something like homotopy.io / globular.science ?

Hope this clears things up a bit


I really want to use Firefox because of Quantum and other Rust goodness, but until they catch up on usability I'm happy to stay with Brave. Tab-to-search is sorely missing in Firefox, and the tab creation and switching experience on Android is awful.


Tab management is what keeping me from switching to FF on Android. The option to use extensions and to customize the browser to the desktop level is amazing though. I hope they will look into tabs' UX later when more people are going to use it.


Curious about the suggestion to try plain TeX. Could you expand on what are the advantages? Do you mean it as a learning stepping stone or for actual usage?


I meant for actual usage, at least for a while.

I wanted to answer your question properly and in detail, but will settle for a somewhat cryptic response (sorry): in short, by using plain TeX instead of LaTeX, you get a workflow where you have a better understanding of what's going on, more control, less fighting the system, much better error messages (as they're now actually related to the code you type, not to macros you didn't write and haven't seen), less craziness of TeX macros (please program in a real language and generate TeX), faster processing (compile time in milliseconds), opportunity to unlearn LaTeX and possibly consider systems like ConTeXt, more fun etc. (Some earlier related comments: https://news.ycombinator.com/item?id=14480085 https://news.ycombinator.com/item?id=18039679 https://news.ycombinator.com/item?id=15734980 https://news.ycombinator.com/item?id=15151894 https://news.ycombinator.com/item?id=19790191)


Not OP, but for me it helped to understand what is actually happening. Definitely recommended. Nowadays I use mostly Context (mainly because fonts and creating your own layout is made easy), and never plain Tex, but still I think reading the Texbook was one of the best decisions I've made concerning desktop publishing.


Upvoted. I hope GP elucidates.


Hearing starts at the 14' mark.


If I'm a pedestrian getting my body filmed, 3D-scanned, with potential facial recognition and internal-organs-penetrating sensors added on top, _I'm_ the one who should own that data (and the right to not consent to its collection in the first place). Why are people weirded out by some Google Glass-wearing rando filming them on the sidewalk but ok for everyone behind a wheel to be suddenly promoted to a CCTV omnisensing recorder?


>Why are people weirded out by some Google Glass-wearing rando filming them on the sidewalk but ok for everyone behind a wheel to be suddenly promoted to a CCTV omnisensing recorder?

Pedestrians are promoting dense and walk-able cities, environmentally sustainable transportation, healthy lifestyles and are generally virtuous. Drivers are wasting space, killing the planet, promoting a sedentary lifestyle and are generally evil.

Yes I'm being a bit absurd and over the top here but the point is that most people aren't disciplined enough to stick to their principals when a group they don't like is the one getting screwed.


Principles. The principal is your "pal."

most people aren't disciplined enough to stick to their principals when a group they don't like is the one getting screwed

For most people, it's hard to keep out of group-think mode 100% of the time. It's especially hard to do when emotions are involved. As a consequence, most are only too happy to screw the members of the groups they don't like.

This is why one should stay away from politics where one is labeling another group as inferior or bad, based on how they were born, or based on what they believe. It's better to convince than to condemn.


I think it is even simpler than this in that most people don't realize they are being tracked in this way. It is easy to seem hypocritical when you are simply ignorant of a potentially parallel case.


Expectation of privacy. Roads are mostly public, Google Glass can go all kinds of places


You will absolutely get into some kind of trouble (social or legal) if you put a camera on a sidewalk and start filming whoever goes by. On the other hand CCTV cameras don't receive any flak. Society is usually not obviously consistent about privacy matters. The ultimate determining factor is what seems creepy vs what is necessary. So its entirely possible that some societies might decide that the video taping done by self-driving cars is sufficiently creepy to ban.


No you won't, I've had a camera mounted on my house for years with no issues, I did this when my car got hit by a neighbor and I had to chase down camera footage from a CCTV camera operated by a home builder down the street, having that footage was the only way they were held responsible for it, as after initially admitting to it they later decided they didn't want to pay. Many people also run dashcams for insurance purposes, perfectly legal.

Personally I find devices that record locally or to user-owned services perfectly fine, keeping local recordings on your dashcam's SD card, awesome, keeping your home recordings on your NVR, NAS or private server, that's okay, but sending that to corporate or government owned services is generally bad. There's a limit to how much an individual can do with the data they record from a few places they own, their car, their house, etc. There's no limit to how much abuse a large entity can do with that data, facial recognition and more computing power than they know what to do with.

Drawing this line legally however is... extremely challenging.

The reality is what we have here is a tradeoff between freedom and security with any individual CCTV camera. Those are both valuable things in their own right and such tradeoffs should be made carefully.

When we then hand that data off to a corporation or government entity, that tradeoff looks very different - now they have access to thousands if not millions of sensors. The freedom implications become much higher and the security is often replaced with things like "how good is our traffic data?", "how can we improve our self-driving system to sell more cars?" or "how can the Chinese government bust more Muslims?". The aggregated result is rarely worth it.


> You will absolutely get into some kind of trouble (social or legal) if you put a camera on a sidewalk and start filming whoever goes by.

In the US, you won't get in any legal trouble for doing this. You do have certain restrictions on what you can do with the images you capture, though.


> You will absolutely get into some kind of trouble (social or legal) if you put a camera on a sidewalk and start filming whoever goes by.

IANAL.

You should not get into any legal trouble if you're doing it by yourself. There is no expectation of privacy in public spaces in the US.


[flagged]


This is a bad attempt to ridicule the issue. Obviously we're talking about data here that is processable by third parties. Nobody but you can get (reliable) data out of your brain, but pictures of you or information about you kept on recording can be used by third parties for everything ranging from policing to advertisement or anything else.

In Germany for example Google Streetview is mostly not available, because a significant percentage of people considered it unacceptable and have the right to opt out of it, and the company has to blur faces, houses, addresses and so on.


It's not processable by third parties? If you tweet that you met me at a conference and then someone else tweets that you saw me at the airport, etc. now people can't use that to infer my location and travel patterns? You're just drawing the line conveniently where you can violate my privacy while simultaneously claiming the higher ground.

I hope your friends treat you with the fear that they should considering you seem to believe that their private information is not "processable by third parties" and therefore probably treat it with no discretion whatsoever.


Careful, someone might think you’re serious.


Don't go out in public if you don't want to be filmed.


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: