Hacker Newsnew | past | comments | ask | show | jobs | submit | zerr's commentslogin

6+ months' notice with a severance package equal to at least an annual salary.

Why would you give someone 6 months notice? What good is that for the employee? Especially if the severance is generous.

“Hey, we’re going to fire you in 6 months. Just a heads up.”

Nah. Give me the year of salary and send me home today. Better for the employee and for the company than pointlessly dragging it out. Again, this is assuming generous severance.


Job hunting takes time. Also, they won't be deported in 30 days, along with their families.

I can do a lot of job hunting with a year of severance.

Valid point about employees on visas though.


Maybe they could be kept on the payroll without access to actually work.

But the real problem is any law that would deport someone 30 days after they were laid off, even if they had been working for years. That should be 6 months minimum.


Keeping them on the payroll also enables companies to easily manage and extend medical insurance. I’m pretty sure that what you propose is what a lot of companies actually do, too. They keep them on the payroll for the duration of their severance but do not expect them to actually work.

Agree that no one should be getting deported on 30 days because they got laid off.


A "performance improvement plan" is almost always a 6-month/1 year warning that you're going to get fired/laid off.

It's common in some companies.


Giving any kind of notice about layoffs while expecting employees to continue working is just bad for everyone.

The employees stress out about whether they're going to be impacted. Nobody gets much work done as they update their resumes and prepare for the worst. The best people start looking for other opportunities and find them. If specific employees are told they're going to be laid off, some seek revenge.

Much better to immediately notify those impacted, revoke their access, give them generous severance instead of expecting them to work, and let everyone else know they're safe.


You immediately notify to the affected persons with the given notice period. This is how it's done in civilized countries.

6 months notice + 12 months salary, which is what you are proposing, seems strictly worse to me than just 18 months salary and no notice.

Lisp philosophy is all about inventing languages (libraries), creating abstractions for each problem. Clojure is all about using primitive data types and maps everywhere explicitly.

virtually all abstractions are built on top of primitive data types and mappings

> virtually all abstractions are built on top of primitive data types

Obviously. The point being made is that the Clojure style discourages building DSLs and the like and prefers to remain close to Clojure types and constructs. It departs in various ways from traditionally Lisps.


> Clojure style discourages building DSLs

does it really? https://github.com/simongray/clojure-dsl-resources


DSLs typically involves constructing macros that are domain specific (to cobble together a domain specific programming language on top of the host). Most of the linked examples are not macro based and are the exact opposite. They specifying domain specific data layouts built directly using the Clojure-native immutable datatypes. They don't create Domain specific datatypes or function-generating wrappers. It's just rarely necessary

A good example is making GUIs in Clojure. At first there was a cool macro based system called `fn-fx` that maked a JavaFX GUI. Then vlaaad wrote `cljfx` which just used plain Clojure maps and removed the macros entirely. This increased the boilerplate a tiny amount but made the system much more flexible and extensible


> DSLs typically involves constructing macros that are domain specific

a DSL is a constrained language for expressing domain concepts.

in traditional Lisps they are often syntax-oriented, because code is lists and macros are a natural tool.

in Clojure, pervasive use of keywords, vectors and maps allows you to shift DSL design towards data interpretation rather than syntax transformation.

so in Clojure doesn't discourage DSLs - clojure practicioners simply prefer data-oriented DSLs to macro-oriented ones, mostly because they are easier to reason about and process with existing tools, while macros are used more selectively.


The original comment you took issue with "The point being made is that the Clojure style discourages building DSLs and the like and prefers to remain close to Clojure types and constructs". You seemingly read half the sentence and in the most unfavorable way possible. (in context it's clearly not talking about "data-oriented DSLs)

> DSL is a constrained language for expressing domain concepts

What you're calling "data-oriented DSLs" is not constrained.

I guess this is all semantic, but in my book just specifying a data-structure doesn't make a language. You're not extending the host language in any way


> What you're calling "data-oriented DSLs" is not constrained

constraints come from the interpreter, not from the syntax

> in my book just specifying a data-structure doesn't make a language

correct, it does not

what makes it a language is defining constraints on that structure and rules for how it's interpreted

that works both for clojure (where the data structure can involve lists, vectors, maps and primitives) and traditional lisps (where data structure is lists, or to be precise cons cells and primitives)

in both cases macros can be used and are used (but don't have to be used) to prevent immediate evaluation of those data structures according to host language rules and instead change how they are evaluated according to DSL author's rules

for example, datomic queries are just data structures, but they clearly form a constrained language with well defined semantics and the fact that they're not implemented via macros doesn't make them less of a DSL


I think you're talking past each other.

"DSLs" can both mean "Using the language's variant of 'arrays' to build a DSL via specific shapes" like hiccup in Clojure does, and also "A mini-language inside of a program for a specific use case" like Cucumber is its own language for acceptance testing, but it's "built in in Ruby" in reality.

Clojure favors the "DSLs made out of shapes" rather than "DSLs that don't look/work like lisp inside of our programs".


no, not really. when people talk about DSLs in context of lisps, they usually still mean staying in the domain of s-expressions.

Yes, maybe that's the sort of DSL you're talking about, the other person mentioned "Clojure style discourages building DSLs" which I'm fairly sure to be about the other DSL and is also true, hence the whole "you're talking/reading past each other".

that doesn't make sense, why would they be talking about departure from traditional lisps if they weren't talking about macro-based DSLs?

> Clojure style discourages building DSLs and the like and prefers to remain close to Clojure types and constructs

This to me, seems to indicate they're talking about "DSLs not built with Clojure types and constructs", I'm just trying to have the most charitable reading of what people write and help you understand why it seems you're not actually disagreeing, just talking about different things.


> DSLs not built with Clojure types and constructs

and in context of lisps that still most likely means macro-based DSLs using traditional lisp constructs ¯\_(ツ)_/¯


The grass is always greener on the other side - many low-level programmers feel like an imposter when it comes to high-level systems such as CRUD apps.

Can confirm, my buddy who is someone I respect immensely, is an embedded programmer.

He will talk about OS events, or any low level concept and it makes me feel like I don’t know anything, but he acts like I’m a genius if I talk about JavaScript Runtimes, browser engines, anything frontend.

It’s cool he teaches me new things, I teach him some


Some people are exceptional at solving difficult but hard to explain problems while other are great solving direct business problems. No need to feel ashamed for both it’s just different work

I think your friend is just being kind.

Most people know that there is a big difference between experience in something pretty easy vs mastery of something very difficult.

A rocket scientist acknowledges a concrete guy knows way more than he does about concrete, but also knows that doesn't make him a genius because it's easy enough to learn just being around it. Plus, the rocket scientist also knows that since he knows so little about concrete, he wouldn't even be able to judge if the guy is really a concrete genius or just saying things a real pro would label wrong.

Your example isn't that crazy, but still, you should realize your friend is just being nice.


I work on OS/embedded and my wife in server backend. I definitely feel like a simpleton when trying to understand all of the high level stuff she works on. It doesn't invalidate my own expertise. There is nothing wrong with acknowledging someone has skills that you don't have and likely would take a long time to pick up.

Yeah exactly. High-level people think the low-level stuff is magic, and us from the other side think the high-level stuff is magic (how can you handle all that complexity?...)

> how can you handle all that complexity?...

You don’t. Someone else smarter than you handled it already and you just need to integrate their solution.


"Someone else smarter than you manufactured microchips and you just need to integrate their solutions."

Yup. AbstractSingletonProxyFactoryBean and SimpleBeanFactoryAwareAspectInstanceFactory agree as well :)

I felt this way moving from embedded into backend for the first time and having no idea where to start. Was incredibly daunting, but both domains become trivial over time.

They don't. The "simplicity" of using a "high-level" framework for someone who bit-shifts for a living is almost comical.

I met someone who bit shifts for life, uses opengl shaders for compute, but has no sql experience and is afraid of opening a tcp socket.

Trivial under plan9/9front. Under Win32/POSIX, run way.

On bit shifts, pick any Forth programmer and shaders will be almost like a toy for them. They are used to implement double numbers (and maybe floats) themselves by hand by just reusing the only integer numbers they have and writting custom commands to output these pairs of integer as double numbers. They can probably implement multithreading processing by hand in Forth and also know the IEEE standards for floats better than C programmers over 20 years.


Sure mate. And the guy who can do binary sums in his head would think of assembly as mere childsplay.

Jog on.


It was an example. Pedantry is alive and well on hn. :)

Thruth to be told, Dunning–Kruger effect is common among those who "shift bits" :)

I’m completely convinced I’m a dogshit programmer. You’re probably right.

bit shifting isn't impressive lol

Really?

I know literal kernel developers who can handle drivers and race conditions any day of the week who can't wrap their mind around Outlook, let alone GUI updates.

Myself. Forth it's easy, 9front C it's manageable but POSIX it's hell and managing both Unix descendants are a piece of cake.

GUI interfaces for the enterprise came from Dante's hell themselves. I hate them, they are like the Madhouse from that Asterix movie making satire of the European bureucracy of the day. The often are oddly designed and they are not documented at all, you must guess the meaning by chance of with a senior tutoring you.

The same with anything corporate from Microsoft with AD roles/group policies and the like. Or anything coming from IBM.


lol you guys are being too nice. Building CRUD apps is just implementing business logic by gluing APIs together, there is nothing to understand except the business domain, which is only done through exposure, because business logic is random. And then the APIs which are all essentially a kludge because of the shifting business logic.

Understanding low level code puts you on entirely different level because you can reason about a problem using logic and how systems operate.

No disrespect to any crud devs here but from my personal experience they just know a particular implementation of their domain and rarely even consider how the code base even operates as a whole


> lol you guys are being too nice. Building CRUD apps is just implementing business logic by gluing APIs together, there is nothing to understand except the business domain, which is only done through exposure, because business logic is random.

It isn't "random", a as business process develop over time to various business/customer/regulatory needs. The business process evolves over time typically.

When you take a business process, you are often formalising it. The fact that you have no appreciation of this, tells me you don't really understand what you are talking about.

> Understanding low level code puts you on entirely different level because you can reason about a problem using logic and how systems operate.

You have to do this in high level languages as well. It isn't something that only low level devs do. In fact to be able to write any good code you need to understand the problem domain.

> No disrespect to any crud devs here but from my personal experience they just know a particular implementation of their domain and rarely even consider how the code base even operates as a whole

You are literally disrespecting them by saying this. It is also false, what you are describing is developers having deal with incomplete/poor specifications and poor documentation. BTW this is rampant through the industry. I wanted to do some stuff yesterday with Docker and Go, the documentation is non-existant.


Everything is shit, it's just different kinds of shit. :)

No not really. I've worked with good teams and you would be amazed at how easy it is, even with iffy tech stacks. Stuff even get documented properly.

Kernel developers know that, eventually, they'll figure out how the system works and is supposed to work.

CRUD developers know that they never, ever will, because business logic is insane.


When I utilize LLMs for coding, it makes me think that I have no idea how I'd use it if I was not an expert already.


Can it run Windows and Linux natively though?


And how does it differ from Second Life?


Second life is trying to be a metaverse in the style of snowcrash; it’s one big world. Roblox is more like Newgrounds, where you have a bunch of distinct games or experiences that you select from a menu, but skins and currency and whatnot are portable between the games.


Easy to dev for. Runs on a potato. There are many maps and modes.


The main difference is there that Roblox games are fun.


Kids in current year like it


What would be a direct equivalent in C++?


SDL and Raylib are probably the closest C(++) analogues. Or SFML if you strictly want a library written in C++, I suppose.


And what would be an equivalent for Monogame-Extended utilities, which turns MonoGame really into a game engine (without an editor)?


DirectX TK, Microsoft's replacement to XNA, naturally it only does Windows and XBox.


Most importantly, did they wear ties?


They didn't when announcing to the world they had started the war. Unbuttoned shirt, no tie, baseball cap, from mar-a-lago...


Jon Stewart took exception: "This is how we're doing this? 2 am? Mar-a-lago basement? no lighting? You don't even have one of those influencer halo things? You just go down in the basement? and this is what we're wearing? Blazer, no tie, shirt unbuttoned? Looking more like the father of the bride settling up with the caterer? ... and not to nitpick, but baseball hat? ... " and it goes on.


JS was how I first learned about the conditions of the announcement

For being satire, it's such a good source for perspective on the headlines


Did they have the cards?


They had trump cards.


Nice


To be fair, probably yes.

And they likely used hair style that requires absurd amount of maintennance. If there were women in the group, they likely used expenasive and painful body modifications on top of that. Republicans have own style, they are big on looks, after all.


"Expensive and painful body modifications"? Like, what, earrings? What a sacrifice.


I mean MAGA styke plastic surgeries there: botox, lip augmentation, jaw contouring, microneedling, facials, chemical peels and so on.

Body modification like that is a status symbol amoung republican women. Both high level women around Trump and in normal level republican areas with serious plastic surgeries industries.


Thanks for the correction. I wasn't aware of this, but it makes sense now that you mention it.


I DDGed for mar a lago look and first hit was a Wikipedia page. I was not expecting that lengthy of a page.

https://en.wikipedia.org/wiki/Beauty_trends_among_American_c...


Plumbers Don't Wear Ties


So now one has to go to East Germany for 6-figure salaries :)


You'll probably be one of the best paid people in Thuringia ;-)


Don't forget to BYOB though - bring your own bananas ;)


Any popular cross-platform GUI toolkits? How do you find GNUstep?


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

Search: