Well the usual reasoning is that tags are for filtering things out. So it’s logical to have philosophy tag for people that don’t like philosophy but are there people that don’t like open source / free software so much that they want to filter it out of the view?
Tags serve a second purpose that, I would say, is their primary purpose: they signal that a subject is a good fit for this site. From the submission guidelines:
If no tags clearly apply to the story you are submitting, chances are it does not belong here. Do not overreach with tags if they are not the primary focus of the story.
I thought the third purpose was their primary propose: to label stories.
Most of the time, the title reveals what the story is about. Sometimes, you need additional information from the tag(s) in order to determine that you are interested.
Examples:
I might not click this:
Graph Rendering (javascript)
I would click this:
Graph Rendering (math)
I would click either of these:
A Novel Graph Rendering Algorithm (javascript)
A Novel Graph Rendering Algorithm (math)
For this third case, I’d LOVE the proposed tag. I’d even click this:
Graph Rendering (javascript) (libre)
Add it but make it only available for suggesting (not initially) and add negative hotness modifier to move it quicker out of the front page. That would make it a lightweight “flag”.
usable link: http://eta-lang.org/
Thanks, that’s exactly what I was looking for. Sign in walls really discourage me.
Eta/Java reminds me of PureScript/JavaScript.
right, but it lets you see what eta is at least (a fork of ghc that compiles haskell to jvm). the tour page itself doesn’t have a back link to the main page.
Totally agree with the “use a yubikey” thing. It solves problems I was hung up on solving myself (like how to manage keys on all the machines I used).
Edit: Though, I don’t fully like yubikey - the form factor is dang near perfect.. but their implementations are not fully open source. NitroKey seems to be more in line with open sourcedness, but they are currently lacking the form factor.
but their implementations are not fully open source.
Well I don’t know what’s your threat model but open-source won’t help much because even if you compiled the firmware yourself and loaded it on a hardware built by someone else you cannot be sure it’s working correctly or even at all. And even if you built the hardware yourself you’d have to trust your suppliers not to backdoor any part of your solution.
Yubico has an interesting blog post about that.
I prefer it to be open source, not because of a threat model, but because if yubico goes under, someone will have to re-invent their wheel (assuming their IP wasn’t released… etc). The community will be stuck using devices (current open source implementations like the nitrokey) that do half the things.. and are 3 times the size.
Edit: RIP Pebble!
Fair enough.
Yubikey NEO’s OpenPGP applet is open source. Although you cannot flash it on a regular Yubikey, you need a “developer edition” key.
Here’s mine on concepts of hardware subversion aimed at ASIC’s:
I can already hear the groans: “But I have to be online for my job.” I don’t care.
I don’t. I use dash for offline docs. And even when I’m online, since it’s much faster to search the docs locally than over the internet.
StackOverflow can also be browsed offline: https://archive.org/details/stackexchange
Wikipedia database dump: https://en.wikipedia.org/wiki/Wikipedia:Database_download (best viewed in WikiTaxi)
How is search when using SO offline? Most of the time when I use SO, it’s because I’m getting to it from a query on a search engine like DDG or Google.
It’s just a long XML file so you can use grep or something similar. Of course it’d better to import it to free text database and search it like that.
Ugh… this is just… so muddled on multiple levels.
Let’s start with PGP - PGP is a software suite currently developed by Symantec. Perhaps he meant GPG:
To help maintain this nerd street cred, pretty much every PGP guide on the Internet (and there are a lot of PGP guides on the Internet) has loads of arcane obscure weird commands to run. How to set up sub keys.
Because there are numerous GPG tutorials out there. For the record GPG and PGP both implement the same standard: OpenPGP.
Personally I think people want “easy encryption & security” but the fundamental problem is that one can’t outsource trust management. In the end one need to understand on a deeper level how security tools work even if they are “arcane obscure weird commands” initially. If they don’t want to maybe they don’t need more security than is already provided by TLS (e.g. HTTPS).
Other than that it doesn’t matter that much how you configure your PGP environment.
Well of course it matters as people have been compromised because of trivial mistakes like leaving version info in their messages.
The main problem with the YubiKey is that they tend to go missing, in which case you’ll lose access to all your emails.
Usually the encryption key is stored in key escrow, that means one generate it on an offline laptop and copies to all hardware tokens. Just like the master key.
Try to avoid PGP for more secure protocols instead (e.g. Signal, WhatsApp, even XMPP+OTR)
OMEMO is the new standard for encryption for XMPP. It offers several benefits over OTR like offline messages and support for multiple devices.
The main drawback of OpenPGP is that it doesn’t support forward secrecy so leaked key exposes all previous messages.
GolfScript has interesting similarities with Rebol: if a variable points to a function it is executed directly. In Rebol that can be suppressed with :token, in GolfScript one has to wrap a token, like so: {token}.
Function arguments in GolfScript are directly taken from the stack while Rebol uses some “heuristics” based on number of arguments of a function and has special behavior for operators.
TBH it would look almost exactly the same. The intrinsics map 1-1 with assembly instructions and the slow loops are nothing fancy, so it would be identical code but with Rust keywords instead of C keywords.
Actually it would look like bytecount.
Is this interesting if it doesn’t have any features to be able to process English and extract semantic understanding rather than just have its own new completely fixed syntax that you have to learn? you may as well just learn the thing you’re trying to do directly instead of the betty syntax…
here is how it matches if you want to count something.
match = command.match(/^count\s+(?:the\s+)?(?:total\s+)?(?:number\s+of\s+)?(words?|lines?|char(?:acter)?s?)\s+in\s+(.+)$/i) ||
command.match(/^how\s+many\s+(words?|lines?|char(?:acter)?s?)\s+are(?:\s+there)?\s+in\s+(.+)$/i)
.. so with any other natural English syntax other than the fixed ones it’s programmed for, it won’t work.
Makes me think of old adventure games.
“Get ye flask.” “You cannot get ye flask”
..but I agree. It would make more sense to try and use something like NLTK or ParseyMcParseFace. Maybe an idea for future versions?
That code snippet immediately disappointed me in Betty. I thought it was using a service like https://api.ai/ to match patterns. Could’ve beaten looking up a command on stackoverflow for one-off jobs.
Uhm… Would you like to have a tool send all commands to remote host? I agree that the simple text approach is not much different from stackoverflow.com search but sending everything I type to some web service would be a lot worse for me.
sending everything I type to some web service
That is what you’re doing when you’re searching on stackoverflow.
The other key is “everything I type”. I sanitize my queries to the outside internet pretty thoroughly at my work.
The key is “some web service”. I trust stackoverflow.com with programming questions, and even if I don’t there is a dump of all answers available.
Even if it did use some kind of NLP, why would I want this? “OK, Google” misinterprets what I want maybe 25% of the time. Why would I want that kind of ambiguity on the command line. That’s literally why I use a command line, because there is no ambiguity, when I type X, Y happens. Every. Single. Time.
We are a young language with plenty of rough edges. When you give it a go, if you need help, feel free to reach out to me personally as well as through the help channel listed on the website: https://www.ponylang.org/learn/#getting-help
Reference capabilities are definitely one significant difference between Pony and mainstream programming languages. It can be hard to grasp initially, kind of like borrowing in Rust.
Interesting note about the string + operator. Java compiler automatically turns calls to it into StringBuilder’s append calls and doesn’t create any intermediate objects.
Regular lobste.rs readers may already be aware of this, but if you’re interested in Rebol you ought to give the Red programming language a look. It’s a modern language strongly based on Rebol.
Thanks!
If you don’t mind I’ve got some questions:
I wouldn’t say that Red is production-ready, but development is moving quickly and their dev blog is an interesting read.
Red and Rebol overlap significantly, but neither is a perfect subset/superset of the other.
Red is doing some interesting things with their implementation. The language is split into two parts: a high level part and a C-like part. The whole language is self-implemented, and it’s easy to cross-compile executables.
While it’s amazingly fast, the inability to run nearly all existing plugins makes it unworkable for me.
For me, it’s gotta be fxgestures. Every gesture extension that I’ve tried on chrome doesn’t run on new tab/error pages nor do they run properly when viewing PDFs using the built in reader. Also IIRC sites like Twitter mess with the extensions styling somehow.
For me, the major plugins I’ll lose is self-destructing cookies (SDC), firegestures, tree-style tabs, and vimfx. I know that the VimFX author has referred folks to vimium, and there look to be webex alternatives to SDC. However, the webex APIs available at this time don’t appear to allow for modifying the browser in order for tree-style tabs or firegestures to be possible.
Tree style tabs have similar extensions available now https://addons.mozilla.org/en-US/firefox/addon/tree-tabs/ , and it itself will be able to move to them at some point https://github.com/piroor/treestyletab/issues/1224
Other interesting functions in the Console API: https://www.sitepoint.com/three-little-known-development-console-api-methods/
Can anyone familiar with Nim comment on the quality of the contents? I like the “in Action” part as it shows real examples but would like to learn idiomatic language if possible.
Author here. Unfortunately I cannot comment on the quality as I am biased. But the book does show many practical examples and thus teaches you the idiomatic way to do things. Hope that helps :)
dom is being a bit modest below - in addition to being the author of the book, he’s also the second-most prolific contributor to the language itself and has written much of the core tooling besides. Which is to say—you can trust that you’re learning idiomatic language from him because he wrote the idiom.
Interesting that it supports Perfect Forward Secrecy by requiring that all messages are signed and appending several keys in payload. I wonder if it’s possible to add something like that to OpenPGP…
Personally I went the usual route (first college then job) but doing the reverse can be really interesting. There are several subjects taught at my college that only after years of working I can say were very high quality but unfortunately during studies I didn’t see it that way. That includes cryptography and systems theory. Actually I remember years ago before Bitcoin existed that one of the assignments was to design virtual currency. We’ve been using EC cryptography and Merkle trees. It’s really something to find the same things in contemporary technology.
I’m assuming that Hackers News is still using continuations? If so, the id for each vote is actually an identifier to a garbage collected (e.g. something that will expire in the future) suspended computation. It’s surprising to me that a site as large as HN can still work this way… Or are they still just using one (beefy) server?
They are not using continuations now, at least not for paging (the URLs are something like this: https://news.ycombinator.com/news?p=2). They migrated because, well you guessed it, the number of continuations to store overwhelmed the server. Well, the idea of using them was cool… I mean in theory :)
Yeah! The ids look like actual ids now, too! Did they finally concede and start using a RDBMS, as well? Is it even still written in arc? :)
Last time I checked (months ago) it was still file system instead of a proper database. Arc will be the last component to replace there knowing how PG likes Lisp :)
Still, it’s kind of neat that it works on “internet scale” given these… unusual design choices :)
Extra gem for people reading comments here: https://github.com/wting/hackernews
The reason I am curious is mostly because they were hiring rails people a while back–not sure specifically for news.yc, but other tooling. Such a traditional web application (as opposed to the continuation passing one) lends itself to a certain style of dev.
That being said, the HTML still references the “op,” which was parlance for the “route” in the old arc dump.
Prosody + a couple of modules with Conversations.im and Gajim can be serious alternative to commercial offerings. End to end encrypted chats, history sync and seamless image / file sharing works as good or even better than Hangouts. I’ve been using this setup with a friend for several months and it works so surprisingly well that I’m seriously considering migrating my entire family to XMPP.
There is also an option for running connections via Tor (both hidden service for the server and client connections) for the truly paranoid.
Yeah, I’ve got a big chunk of my family on XMPP and it’s been nice.
The stragglers I SMS using JMP.chat so that I never need to leave my XMPP client :)
Wow, JMP.chat looks really useful. Shame it’s US/Canada only (I’m in the UK) :(
Feel free to join the low-volume notification list to find out when UK support is added: https://jmp.chat/sp1a/notify_signup/ The UK is likely to be the next country that https://jmp.chat/ supports.
JMP.chat looks very cool. Unfortunately I already have an unlimited everything plan and a number but the idea is really clever.
I had an unlimited everything plan, but I really love the extra freedom I get now to move across devices/plans sims/wifi when I travel or when I’m at my laptop. Ported my number to JMP and got a “tablet” data-only plan for my mobile. Not for everyone, but my wife and I love it.
Data-only plan… that sounds nice. I didn’t think about porting the number to JMP - that’d be convenient.
Do you also use SIP for regular calls in JMP?
I do. Works ok over LTE and fine on wifi. If you need more reliability on lower-bandwidth connections callwithus.com supports opus codec for outbound calls and you can set callerid to whatever you want.