Hacker Newsnew | past | comments | ask | show | jobs | submit | NM-Super's commentslogin

I don’t subscribe to the NYT anymore (I cancelled my subscription in 2022). I know who Clavicular is because of social media.

The fact that the NYT thought the guy was worthy of a profile is yet another piece of evidence that I should never have given that paper money in the first place.


Author here! I didn’t use AI to write this. Jekyll’s markdown to HTML converter helpfully transforms a series of three normal dashes into an em dash.

I did use AI to proofread the article, and implemented its primary suggestion (turning down a dark joke at my own expense that was pretty out of place), but the first draft of this was 100% hand-written.


Twitter's still working, but it's in a state that I think is worse than before. The spam bots alone seem to be orders of magnitude more prominent. I don't think I'd ever seen a spammer pre-headcount-change, and now "MY PUSSY IN BIO" is a running gag on the website because spambots are so prominent.

They also changed their content rules to allow drastically more content, which reduces the total amount of work to be done. You could argue that this is a good thing because the moderation was useless and censoring before, but the moderation also made it a friendlier place for major advertisers who have since pulled out—so changing the moderation resulted in a business model change. That's naturally going to reduce headcount.


This article is from 2017. In the meantime, the Haskell community has been playing around a lot with Effect Systems, which give you similar benefits with much better performance and generally less boilerplate. In particular, the effectful package (https://hackage.haskell.org/package/effectful) would let you write the code in the article as:

  reserve :: (SearchTrains :> es, GetTypology :> es, Log :> es, RequestReservation :> es) => ReservationRequest -> Eff es ReservationResult
  reserve request = do
    trains <- send (SearchTrain (_dateTime request)) -- Search for trains at date-time
    forM trains $ \train ->                   -- Loop on all the trains
      typology <- send (GetTypology train)           -- Get the typology of a train
      ...                                     -- Implement the reservation rules
      send (Log "Confirming reservation")          
      confirmed <- send (RequestReservation reservation)
      ...
(In actual usage you won't tend to use the send function - you'll write wrappers that do it for you).

This lets you avoid having to write an interpreter for some particular ReservationExpr monad - instead, you specify individual effect handlers, then use them as you want. For example, we could write something like this:

  -- Make search train never return any trains
  runWithoutTrains :: Eff (SearchTrains ': es) a -> Eff es a
  runWithoutTrains = interpret $ \_unusedHere (SearchTrain name) -> pure []

  ignoreLogs :: Eff (Log ': es) a -> Eff es a
  ignoreLogs = interpret $ \_unusedHere (Log _message) -> pure ()

What's even more fun is that you can actually interpose effects. So, I can write this:

  loggingTrainSearches :: (Log :> es, SearchTrain :> es) => Eff es a -> Eff es a
  loggingTrainSearches = interpose $ \_unusedHere (SearchTrain name) -> do
    send (Log ("Searching for train " <> show name))
    send (SearchTrain name)

Being able to play around with handlers like this is really useful, both for testing and for adding on niceties to business logic.


I had read this article more as a "from-first-principles" example, but it's a good note for people who might be unfamiliar with practical Haskell. Using an effects system also promotes the domain DSL from an initial-tagless language (only the interpreter is extensible) to a tagless-final language (both the language and the interpreter are extensible).

It may be worth noting that effectful, polysemy, and the other "new kids" of effects systems are not the only option: record-of-functions, mtl, and type-class effects aren't cutting edge, but they're a little more approachable from an OOP dependency injection pattern.


Year added above. Thanks!


I'm a bit torn. I like the design of Unity more than I do that of Gnome, but I think that less fragmentation is extremely desirable.

Ultimately, I think it's a good, necessary move. Linux on the desktop will only happen when the environment is at least as uniform as that of Windows—from the perspective of application developers, at least.


Canonical bending their demonstrated ui talents may just lead to a better Gnome 3 experience.


Do I live in an alternate universe? Do people really think this looks good? http://toastytech.com/guis/ubuntu114defaultunity.jpg


That's a 6 year old screenshot. They've made incremental improvements since... but yes, I've grown to appreciate it. The most annoying part of unity7's interface is its alt-tab function: It toggles between apps, not windows, and that's annoying.


That's the same behaviour as OSX. At first I also hated this behaviour, coming form the Linux/Window environment. But after using it in conjunction with ALT+` (to cycle through app's Windows) I actually find it better than the standard Windows behaviour.


Hey, what do you know. We just released this last month, but it didn't get any love from HN:

https://neosmart.net/blog/2017/easy-window-switcher/


Yeah once you learnt to use alt-backtick to switch window apps this is a much better experience IMO. Doesn't work without that though.


My biggest issue with the macOS way is that there are edge causes when using Spaces. The biggest being "stand-alone" Chrome apps like Signal Desktop are still tied to Chrome, even though they get their own icon and a separate place on the Dock. CMD-Tab'ing to Signal Desktop might just send me to a Chrome window. Ugh.


That's why Google has been phasing out Chrome apps for a while now.


Google has been phasing out chrome apps on all platforms because alt tab is broken in osx?


I am with unethical_ban on this. Most of the time I am switching between multiple instances of the same app and this drives me crazy.

Just because OSX does it (I don't think windows 10 does this) it doesn't mean it is a good idea.


So use alt+`, which allows you to switch between multiple windows from the same app without the clutter of other apps.


Alt+` (or whatever key is above tab, if you have non-US keyboard) toggles between windows of the same app. I don't know if there is key combination to toggle between all windows, though.


On GNOME 3 you can toggle between Windows using Alt + Esc.


It certainly makes better use of space than the thick header bars that gnome ships with by default. At least one Gnome developer seems to think so too https://blogs.gnome.org/mcatanzaro/2015/10/17/time-to-use-he...


It looks acceptable, but more important than how it looks is how it works. Ubuntu has by far the most usable desktop, in the default configuration, of any linux variant. UI isn't just about the shade of purple you choose.


Furthermore, from the default configuration you can turn it to the the most usable desktop of any OS by doing this:

    Settings -> Appearances -> Behavior -> Enable workspaces


Yes it does. It looks much better now anyway, something like this: http://i.imgur.com/DdY4b5O.png


I really don't see much difference.


I don't think either screenshot looks particularly nice. However, this is mostly due the ugly default background and color scheme (its an ubuntu insider joke and its the first thing people change).

I personally care only about function but even if you are form-above-function guy Unity gives you many tools to make it look good:

http://imgur.com/gallery/sQFw7

(courtesy of r/unixporn )


honestly I agree there, but I'm an i3 fanatic, gnome is much better, KDE plasma has a beautiful interface, but being able to do everything via hotkeys, and tile windows is just an amazing thing once you do it for a bit.


they like the absence of all of gnome's chrome and the smooth animations and transitions.

me, i like gnome 3 and unity. all told i think this is really good news from canonical, for wayland, for gnome, for desktop linux in general, etc.


I commented briefly on some alternatives here: https://news.ycombinator.com/item?id=13716343


There's very few completely linear relationships in all of economics. Economies of scale, especially, are often at least polynomial.

I'd say a website with 100 million members is worth far more than 4x as much as a site with 26.


People typically use Tumblr at this point. It's not designed for art, and it has issues with big images, but it has a fairly active community, so people use it. There's also niche sites, like FA for furries and various boorus for anime fans. There's also a semi-active twitter artist community, although 90% of those people also post elsewhere.

Shameless plug: I've been stealth-working on an art site for several years, so you could try that out if you'd like. That's at https://www.imagehex.com/.


ArtStation seems to be popular.


Is anybody really surprised by this development? If you create a platform where people can ask for money, a bunch of people are going to ask for money they don't really need.


In my experience, GoFundMe enables it more than other platforms, since they really don't give you a good way to complain. (I've received spam from someone with a campaign there)


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

Search: