Hacker Newsnew | past | comments | ask | show | jobs | submit | cholantesh's favoriteslogin

Detailed perspective from someone with insight into Thiel's thinking https://www.youtube.com/watch?v=-6LakOrqDL4&t=1s

That watched, imho Thiel is interested in the post-Straussian tension between "thinking in the open" (ideal science) and "focussed value creation" (which is best done behind closed doors)

AI as driven by premium mediocre Millennials combines the worst of both: lazy group-think promoted by stochastic parrots, expensive hardware weaponized by people who didn't earn that privilege

Capitalism or communism is a false dichotomy. You'd want any given pre-Jedi to access the Force, build their own lightsabers (in a cave), but not turn to the dark side.

GitHub serves Midichlorians. NVDA serves the Federation (and is one of the deadly sins to boot)


The head of the BDS supports the expulsion and/or murder of all Jews in Israel.

Quote:

Omar Barghouti, the founder of the BDS movement, made that perspective clear: “Good riddance! The two-state solution for the Palestinian-Israeli conflict is finally dead. But someone has to issue an official death certificate before the rotting corpse is given a proper burial and we can all move on and explore the more just, moral and therefore enduring alternative for peaceful coexistence between Jews and Arabs in Mandate Palestine: the one-state solution.”

Barghouti also opposed a bi-national Arab and Jewish state: “I am completely and categorically against binationalism … because it assumes that there are two nations with equal moral claims to the land and, therefore, we have to accommodate both national rights. I am completely opposed to that.”


Two different models. The metaphor I like to use is that RabbitMQ is a postal system, while NATS is a switchboard.

RabbitMQ is a "classical" message broker. It routes messages between queues. Messages are treated like little letters that fly everywhere. They're filed in different places, and consumers come by and pick them up.

Core NATS isn't really a message broker, but more of a network transport. There are no queues as such, but rather topologies of routes where messages are matched from producers and consumers through a "subject". You don't "create a queue"; you announce interest in a subject (which is a kind of path that can contain wildcards, e.g. "ORDERS.us.nike"), and NATS routes stuff according to the interests. So there's nothing on disk; and if a consumer isn't there to receive a message, the message is gone. Thus you can send messages back and forth, both point-to-point or one-to-many. NATS itself isn't reliable, but you can build reliable systems on NATS.

A common example of the lightweight, ephemeral nature of NATS is the request-reply pattern. You send out a message and you tag it with a unique reply address, the "inbox subject". The subject is just a random string (it may be called "INBOX.8pi87kjwi"). The recipient replies by sending its reply to that inbox. The inbox isn't something that exists; it's just a subject temporarily being routed on. So the sender sends a message and waits for the reply. NATS encourages you to use these ephemeral subjects as much as possible, and there can be millions of them. You can do RPC between apps, and that's a popular use of NATS.

JetStream is a subsystem built on core NATS, and is what you get when the designer of NATS thinks he can outsmart the designers of Kafka. JetStream is basically a database. Each stream is a persistent sequential array of messages, similar to Kafka topics or a RabbitMQ queue. A stream can be replicated as well as mirrored; one stream can route into another, so you can have networks of streams feeding into bigger rivers. Unlike core NATS, but similar to RabbitMQ, streams and their consumers have to be created and destroyed, as they are persistent, replicated objects that survive restarts.

Similar to Kafka, streams are just indexed arrays; you can use it for ephemeral events, or you can store long histories of stuff. Consumers can go back in time and "seek" through the stream. Streams are indexed by subject, so you can mix lots of types of data in a single stream (as opposed to multiple streams) and simply filter by subject; NATS is very efficient at using the index to filter. Like RabbitMQ but unlike Kafka, streams don't need to be consumed in order; you can nack (!) messages, or set an ack timeout, causing redelivery if acks aren't sent in time. In other words, JetStream can work like Kafka (where you always read by position) or like RabbitMQ (where messages are skipped once acked, but retried once nacked). JetStream has deduplication and idempotency, which allows you to build "exactly once" delivery, which is awesome.

Similar to how someone built a database on top Kafka (KSQL), the NATS team has built a key-value store on JetStream, as well as a blob store. They work the same way, through message ID deduplication. A stream is basically a bunch of database rows, with the message ID acting as primary key. So the stream acts as a primitive to build new, novel things on top of.

I think it's fair to say that RabbitMQ gives you opinionated tools to do certain things, whereas NATS and JetStream are a hybrid "multi model" system that can be used for more purposes. For example, you can embed NATS in your app and use it as a really lightweight RPC mechanism. You can use JetStream as a classic "work queue" where each worker gets a single copy of each message and has to ack/nack so the queue moves forward. You can use JetStream as a log of all actions taken in a system, with retention going back years. (NATS/JS is actually awesome for logging.) And so on.

We use NATS for different use cases at my company. In one use case, clients connect to an API to follow live, low-latency change events. For each such client connection, we register a NATS subject; then tons of processes will see this subject (and its settings, such as filters) and will all start send changes to that one subject. There's no single "controller"; it's all based on point-to-point and one-to-many communication.

(Full disclosure: I'm not familiar with newer RabbitMQ versions or the streaming stuff they've added, so it's possible that RabbitMQ has caught up here in some ways.)


https://archive.is/kuMf0

> Last year Andrew Bailey, governor of the Bank of England, asked workers to “think and reflect” before asking for pay rises.

I literally laughed out loud. Everybody should have been asking for pay raises the last two years for at least enough to cover the inflation rate.


How do u find a therapist? I’m a bit weary to discuss super personal things with someone I don’t know even if they’re a professional.

How can I find someone I trust and is actually good? Not like the movies where the clock is up and ok next issue.

My work offers a mental health service but I’ve looked at their TOS and no thanks.

Sometimes I feel like just suspending the world background process and being still would be nice. But I don’t have sudo.


A local fried chicken restaurant calls their spiciest chicken WNFA (we're not fucking around), and it's exactly as it says on the tin. When I have enough of it and I've gotten past the initial "why am I doing this? this is stupid, I should stop," I genuinely experience a form of euphoria. The next day is sheer hell though, so I don't do it often. And that's how boring my life is, occasionally eating fried chicken to get mildly high.

Investor Sex Change?

Until they stop consuming more electricity than a big country, there is a moral right to be hostile toward them.

Is that the new/modern definition of oligarch, or how oligarch is used in US?

I dont see how Jeff or Elon are oligarchs in the sense of russian oligarchs.


I'd call myself more of a "data plumber", with a double-BS in physics and computer science, but I'm considering returning for a MS so I'm more qualified to do interesting work.

Is there a consensus about what kind of Master's would be most useful data-sciency stuff? Computer science? Stats?


Having used both React and Vue extensively. I'd say React's great at Single Page Apps in the true sense of the word, Apps that have a single UI like an IDE:

- https://github.com/ServiceStack/Gistlyn

Vue's nicer to use without any build tools using just vanilla JavaScript:

- https://github.com/NetCoreWebApps/Redis

Vue's also nicer for "page-based" Websites that are converted into Single Page Apps. Nuxt.js really shines here which lets you develop complete Websites using Vue's Single File Components and takes care of routing by following a conventional page structure. Nuxt.js + Vuetify will be my goto for many traditional Website style Apps (implemented as SPAs) going forward. It imposes an opinionated convention but saves you a lot of effort having to manually configure and integrate different libraries together.

Vuex is more pragmatic and requires less effort/code to use than Redux, but Redux is great when you need to access previous states, e.g. it makes it effortless to capture "Snapshots" of the entire current state of the App that you can send to someone else so they load your App exactly as you see it:

- https://github.com/ServiceStack/Gistlyn#snapshots

Or when you need to sync state changes between network apps:

- https://github.com/ServiceStackApps/typescript-redux

But if you don't need these features, in general Vuex/Mobx is easier and requires less effort to develop with.



For context, I'm in no way, shape, or form a modern front end maestro. I'm good with ES6, Jquery, Handlebars, and Bootstrap. I've done a little with the Angular 2.

From that perspective....

What does this buy me over the other more popular frameworks? What are the chances that this won't be abandoned if it doesn't gain traction? It's also easier to recruit developers if you say your stack is built on the more popular frameworks.

On the other hand, even though I've never used Ruby on Rails, this is written by BaseCamp so I do give them a slight benefit of a doubt. Just like I would give Kotlin the benefit of a doubt based on my experience with JetBrains' products.


The best explanation of blockchain has to be (unsurprisingly) 3Blue1Brown: https://www.youtube.com/watch?v=bBC-nXj3Ng4

Would highly recommend watching this video for anyone who hasn't already.


Hello applet my old friend

If a degree isn't sufficient, then what is sufficient?

A Lawyer needs to pass a BAR exam in the state in which they expect to work, then maintain that certification (annual training requirements, etc).

Software throws around the term "engineer" a bit willy nilly, but if you look to other engineering disciplines there is a distinct certification meaning to Engineer as a title:

1. You have graduated with an ABET-accredited degree

2. You have passed the NCEES Fundamentals of Engineering exam

3. You have apprenticed for the necessary Engineer-In-Training period

4. You have passed your discipline's NCEES Professional Engineer exam

5. You maintain your Professional Engineer certification (annual training requirements, etc)

That certainly sounds like a good baseline. NCEES has a Software Engineering Professional Engineering exam today and can certify Professional Engineers in Software. If I never again had to do another whiteboard interview or take home programming assignment, I'd start working on my PE tomorrow.

What stops the Software Industry from recognizing distinctions such as a accredited degrees and PE certifications?

The software industry doesn't want to stop talented software developers from entering the market without a need for degrees and certifications, because that drives down labor costs. But that doesn't have to stop the industry from at least acknowledging the existence of degreed and/or certified engineers and eliminating some of the BS.


Mistakes, rewrites, late nights, firefights, and deadlines.

Core dumps, memory leaks, hardware faults, and plain bad luck.

Big O, data flow, always learning -- or out you go.

Manager metrics, schedules hectic, methodology hegelian dialectic.

Taking the heat, feature creep, open office, uncomfortable seat.

Holy wars, revolving doors, carpal tunnel, all you can take? There's always more.

Fucking suits, random reboots, and the ever present "thousand language stare".

Oh yeah, pressure -- lots of pressure. And time, time, time.

Metric shitloads of time.

Time, man. You gotta do your fucking time.


In part 1/3, the author writes that there are 2 branches of data science:

> Data science for people (Type A), i.e. analytics to support evidence-based decision making

> Data science for software (Type B), for example: recommender systems as we see in Netflix and Spotify

Isn't "type A" business intelligence, and isn't "type B" machine learning? Why doesn't he use those more widely known terms? Or maybe he is referring to something else?


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

Search: