skysight-inc/HackerNews huggingface dataset:
> Monads rose to prominence in Haskell in order to deal with some specific technical challenges that stemmed from the project's decision not to make any compromises about lazy evaluation.

Disagree. To an outsider, IO is the most prominent monad because it's very visible in small example programs (and something that separates the Haskell versions of those small example programs from those in other languages). But to a practitioner it's not a particularly important or interesting example, most use of the monad abstraction is not about IO, and I would certainly hope that the language (in the broad sense) would have adopted it with or without IO.

> Using monads for specifically that purpose in a language with strict evaluation would be a case of cargo culting Haskell.

Disagree; even in languages which define an evaluation order, it's still very much implicit to a human reader. Being able to distinguish between accidental ordering and intentional ordering is really helpful to enable fearless refactoring. Like I said, post-Haskell languages like Idris often use strict evaluation but still see value in managing IO explicitly.

> However, if you're working in a language that already has some mix of strict evaluation, mutable variables, async/await keywords, exceptions, elvis operators, null punning, etc., introducing monads to solve those problems runs the real risk of running afoul of the xkcd.com/927 problem.

The special-case syntax is often more suitable to the special cases it was designed for (it would be pretty tragic if it weren't). But the general-case syntax is necessary for general-case code. It can work pretty nicely as long as there's a direct transformation between one and the other; compare e.g. different ways of iterating through a collection, where you'll generally have a fully general function/syntax but also sugar that's more appropriate to restricted special cases.

> Especially if those existing language have a tendency to not understand and respect the fact that they're now being used in code that's supposed to be observing the monad laws.

I'd argue that if your special-case solution doesn't conform to the monad laws then you already have a problem, even if you don't realise it yet. E.g. the fact that in many languages code that uses a map will break if that map contains null values, and the fact that implementing a valid maybe monad on top of null is difficult-to-impossible, are both reflections of the same underlying problem.
You can watch the box that the votes are put into, you can be present at the opening of the box...

But you can't monitor the boxes in transit or be sure that any given box, or vote, was tallied properly.

It's happened numerous times in the Bay Area that boxes of ballots have been "found" days after an election, with votes curiously inconsistent with others from nearby precincts.
And even without pirates, merchant vessels have incidents with disturbing frequency. A lot of these incidents never have a cause firmly attached to them, because the crew's all dead, the ship is somewhere in a 10,000 square kilometer stretch of ocean, and that ocean is 1km+ deep. Not that the wreck being known and (relatively) shallow is a panacea either, as the variety [0] of hypotheses concerning the cause of the Edmund Fitzgerald wreck should demonstrate.

I trust the US Navy to operate reactors at sea - they've done a damn good job of it over the years, with no losses since 1968. And even those losses (USS Thresher, SSN-593 [1] and USS Scorpion, SSN-589 [2]) haven't caused radiation leaks. Merchant shippers? Yeahhhhh.... No.

0: https://en.wikipedia.org/wiki/SS_Edmund_Fitzgerald#Hypothese...

1: https://en.wikipedia.org/wiki/USS_Thresher_(SSN-593)

2: https://en.wikipedia.org/wiki/USS_Scorpion_(SSN-589)
I know a lot about Erlang & Elixir, but almost none of my daily work now would lead me to learn what I know. Some things are probably 3 days of work if you know it, and 3 months of work if you don't.
Closer to the first time it's used. Schema gets queried and methods get added the moment you do the first query on the model normally.
I am aware of this, but the bigger parties also fail to realize how this can backfire on them.

(Which is the opposite of the poor guy situation)
Do you actually forward receipts to the client and have them pay to the cent?

I always find it easier to just have a fixed line item for "travel to client events", and usually I end up coming out ahead by a substantial margin by not booking fancy hotels.
I agree, aaand disagree to this. If you're not attached to the product/service/code base you can leave quite easily, but if not you should stay and shape the future of it.
This is interesting, looking from the outside I've always assumed that edtech had the problem of their content becoming less valuable too fast and figured they should invest more in better presentation and delivery of user-generated/curated content than on content itself.
On an unrelated note: why are you no longer on keybase? Are there any problems with the service?
Three things a Facebook Hacker will try
But it disables per-site zoom which is inconvenient.
GatsbyJS Review
You cannot tell whether a self-driving car kills less people than human drivers because to get the same statistical significance we have on human driving you'd need 84 billion hours of data from real autonomous driving within a year, and unbiased across all of the roads of the US.
This definitely looks like a product that could be great in raspberry dev projects and other situations that benefit from a direct mesh network!
Sometimes average corporate developer just does not cut it. Like you've got a bunch who know how to take data from a database and feed it to web form. Ask them to do anything else and they would expect you to send them to a training courses. I've met quite a few shops like that.

Meanwhile. This project required some imagination and multi-disciplinary knowledge. Sure the company have some geniuses but the company is huge multinational and for one department of their branch it was probably way simpler and cheaper to get someone from outside then shop their other brunch. Big companies are very bureaucratic
Interesting

How long is your average engagement, if you don't mind asking.

Also I suspect this requires a lot of travel (and time away from home), correct?
That is a good ideas. If we can do it in a privacy-preserving way, which seems doable, we will most likely do it (although we would be constrained by resources available)
> Functional languages somewhat avoid shared or implicit state by making you pass everything in and then create something new on the way out.

Dataflow, in other words. You pass data through functions, and you know the whole thing works because the functions are composable because they aren't doing anything off to the side. No side-effects means you can think in a pipeline data flows through.

Spreadsheets achieve this quite nicely, and are the only successful visual programming language (pacem Microsoft's use of "Visual" as a marketing term for their decidedly text-based Visual Basic and Visual C++) in addition to being the forgotten programming paradigm, or at least the one most likely to be pointedly ignored.

Some of this might even have relevance for creating FPGAs based on dataflow models.
And it's arrogant (in a way) to think the people that hired you are blind fools for seeing potential where there's not. In other words: trust yourself. Bad hires happen but the bad hires are usually not the first to point that out.
The barriers are all in the mind.

The simplest way to upgrade skills is to work with teams working on problems of interest to you, where you have to meet up with them, atleast once a week if not more. The social aspect is what drives learning.

Doesn't matter if you are working full time. Find a subject that interests you THEN find/contact research labs/profs/startups working on it. Tell them you have X hours a week (for 3 or 6 months) you want to devote to it and ask them for an assignment. If you have more experience and skill than the avg grad student they employ, it's easy to find a project.

I have done this with incubators, univ labs and research labs close to me. I am luckily in a large city, where once you start looking, you will find all kinds of interesting characters doing interesting things. Follow their blogs, twitter feeds and github repos. Identify where you want to contribute. Make a small bug fix or document some aspect of their code and the door opens.
They're a provider I haven't heard of before. Following your link, what does "Billing period 6 Months" mean? Elsewhere on the page it says: "Hourly based billing. Tariff can be terminated at any time."
Maybe scalingo.com or fortrabbit.com for php?
Not when I started, but after I'd been contracting for five years I ended up in a contract where the client ran out of money so couldn't pay me. I figured that because I was hired through a recruitment agency I was safe, but apparently not.

For those who aren't aware 'contracting' in Europe refers to what is effectively a short term employee who charges X/day. Clients usually pay net 30 - 60 and often you work through a recruitment agency. The agency is supposed to vet the employer and provide a good source of candidates, but for the fees they charge clients (10-30%) IMO they don't provide anything near that value.

This led to mistake after mistake on my part and now the client owes me £40k. I ended up working with a soliticor, and we have now agreed on terms for then to repay me, but I ended up with a pretty bad deal (it's effectively an interest free loan to them).

I've learnt quite a lot of lessons though:

- Under no circumstances work for free, if a client asks you to, it simply means they do not value your time. There's plenty of businesses who are willing to pay you so it's not worth the hassle. The only exception I'd say is if you are getting founder level equity (10s of %) in a startup you believe in.

- I had a bad feeling about this contract from my first week when I got in the office, guess I should have listened to my gut feeling :-)

- If a client is putting a lot of stress or pressure on you, fire them. There's plenty of good clients out there.

- Do not ever work for free https://youtu.be/jVkLVRt6c1U
Racksterly Review; Is Racksterly Scam or Legit? Make at Least N50k Daily
There is Busuu!
https://www.busuu.com/
Don't be afraid to say no if a client looks shitty.

Don't say no to a good client. Quote them an atrociously high price instead. What's the worst that can happen? They pay it.
Google paid $30 million for 3%. Even the most optimistic unicorn projection isn't going to return much of a multiplier on that. Pearson is a behemoth in the space, and it's, what, about a $5 billion company?

The financials simply don't add up.

So there is some very important aspect of the deal that can't be publicly announced. The only thing Google would want from Duolingo that would have to be kept on the down low would be lots of user data.
just impulsively bought one of these as soon as I read it - been on my radar for a while (probably should have done some more research though). big manjaro fan.

anyone else on HN in on this? recommendations?
I think this is very bad advice. I had great clients who overlooked a payment. Just let them know and everything was fine.

It also depends on what country you live in. Where I live it is 60 days by rule unless it is in a contract signed by both parties.
You should only have to do that in the beginning and strive to earn more so that you can hire an accountant or a firm to keep the booking and calculate your taxes for you. Invoicing is a matter of minutes and some apps even do it for free. Once you've set up your templates for each type of contract and document, you should be good to go. The only true problem in freelancing is generating new (good) leads. That's it. Admin stuff is a piece of cake with today's technology.
"Somoza may be a son of a bitch, but he's our son of a bitch." -- Franklin D. Roosevelt

It's politics.
The entire threat perception around nuclear is a result of american wussification around anything nuclear. In few years nuclear tech would be really low tech and all nations such as Iran or North Korea will have nuke power any ways. It is pointless on part of nato to mas-sturbate so much to nuclear proliferation and hurt world's chances of having a better future.

Say a somalian pirate managed to steal some parts of a containership, what is the big deal ?
What+is+the+fate+of+WeChat+in+Nigeria?
A single-celled organism that can live on material from a meteorite
I'm fluent in 2 languages, and can read French as well, but when I tried to learn Japanese through Duolingo, it was an epic fail. Beyond some very basic things, it was pretty clear that not only the developers don't use the service themselves, they also don't really listen to people who do use it in any kind of a consistent fashion.
I'm quite happy with their free tier. I have two Ubuntu machines hosting various docker images.

Network bandwidth seems capped at around 50mbps, but that is perfectly adequate for my needs.

CPU is quite strong, it's two AMD Zen vCPUs. The compile times for a few of my containers was acceptable.

Three downsides:

-No reverse DNS (at least I couldn't get it to work)

-No IPv6

-It's Oracle, I made sure I only used personal info and would never consider it for work purposes.
Yep. You’re the expert now. You can move on to a different technology/industry in which you are not the expert, seek out new greenfield/white space challenges in your current field, or embrace the opportunity to become a better mentor/teacher/tech lead/presenter.
If you are going to compare hydrogen and kerosene by weight you need to include the weight of the containment vessel. For kerosene that is a thin piece of aluminum. For hydrogen it is...not.
Victoria Falls dries to a trickle after worst drought in a century
We haven't worked on a) yet but its on the roadmap. We want to import it from gmail as of now but linkedIn is on the list too.

We have a very basic services page that gets set up. More than portfolio we focus on how you can help your potential client. So really trying to showcase a very specific problem that you're dream client can relate to.
And of course there is the changing culture of the West - people are becoming more and more risk averse - any type of risk. That seeps into all kinds of activities. Could be affecting appetite for starting business too.
I think you're being wildly optimistic here about the state and future of the technology
im actually not sure why everyone is investing in their own scaling frameworks.

Would it have been hard to enhance Dask and leverage that ? For example there is a huge conversation and lots of work that has happened in Dask to specifically support Pytorch - https://github.com/dask/distributed/issues/2581

Dask has support for AWS ECS, Kubernetes, GKE, EMR, etc built in - https://docs.dask.org/en/latest/setup/cloud.html
This was largely the point I was making
The usual advice is to expose yourself to as many people in the business as you can via friends, studies, conferences, talks, hackathons, etc. And let as many people as you can know that you're open and able to create/improve that thing that will make them lots more money than they'd pay you.
1. Not making it clear to the client up front that I'm charging for the week whether they have enrolled me in their IT systems or not!

2. Not making it clear to the client up front that if they wanted me to do the work the following week I've also have to charge them extra for having to reshuffle my schedule.

With big companies this stuff is very hard to fix after the fact, it has to be part of the initial negotiation.
Why the hell is this well argued and reference providing comment down voted?!
Fiber scan display in hi res would’ve required moving at 14× speed of sound: https://www.kguttag.com/2018/01/06/magic-leap-fiber-scanning...
>Tiktok is breaking the law in multiple ways while exploiting mainly teenagers data. This should be regulated quick and rigorous. We have all necessary laws. Don’t let them break society like 10 years of FB. Journalists should find a better place for vertical video.

Well done. I think that after this research, journalists will better understanding of how TikTok actually breaks the law and they can cover this story using the information from this article as a reference,.
The hype, overfunding, bust is very Segway.
I thought "I'm a great programmer so I'll be a great programmer-consultant". In fact they are two separate sets of skills, and if you don't have the soft skills around consultancy like networking for clients, dealing with payments, and smoothing things over when they occasionally go wrong, you'll need to acquire those skills.

Also get a good accountant. There are lots of terrible accountants. Literally I had one who forgot to file my tax return - you had one job! - and I ended up paying a huge fine for his incompetence then trying to sue him to get it back.
> - Stop trying to go above-and-beyond all the time. Do what you were brought in to do, and do it exceptionally well. If other opportunities come up, suggest them as follow-on projects instead of just doing extra stuff for free.

This so much. I used to waste hours doing small things (for free) that the client may never even notice. Just because it bothered me personally. Stick to the contracted list of things .

This isn't to say do a half-assed job, but deliver what was promised
Gating the API behind a permissions dialog or permission setting. The difference being that an end site either uses it and gets valid data (because the user allowed it, the default without a dialog today), or gets errors letting them know the data can't be relied upon.

If you visit a random internet site and get a prompt for the audio API are you going to allow it? Probably not, especially if you think it's just so the site can be obnoxious with sounds or listen to you.

The canvas api might be a little more likely to be allowed by the average person, but enough might disallow or ask about it that sites that have a valid use for it will put up a banner noting why it's important, making sites using it for tracking stand out all the more.

The bottom line is that we're coming to an understanding (well, it's been known for years) that each additional browser feature has downsides, so making them enabled by default has repercussions.
That's probably because it's an actually working and fun game, not some project where people spent more time giving talks or writing blog posts about it than all the people who can be bothered spent on playing it combined, and which is just a stepping stone to yet another half-assed thing nobody needs. Writing it perfectly the first time isn't possible because you don't know what exactly you're making until you made it, and rewriting it into something that behaves exactly the same for the user, but has nicer code, would be pointless masturbation.
EDIT: s/reprisal/reprise/
The sad thing is that if they'd spent just one month on a Michel Thomas or Pimsleur course, they'd have been at a higher level and been ahead in accent, too.

Typing word and sentence translations from your L1 into a language you don't speak just isn't a good way to learn a language.
> Saying yes too fast means you need to charge more.

In this instance what’s the tactic to increase the price you’re quoting the client? Are they not going to think it’s weird you’ve changed your mind about the price?
You can't trust Wikipedia on linguistics.
Realistic Paintings of Girls – Compilation – Digital Art
I disagree that it's an ego trip and I think many other people would feel equally inconvenienced. Is it slightly irrational? Sure. Were they there before me? Technically. But they clicked a button. I walked in. For that reason, I think I'm more valuable of a customer. We can virtue signal and pretend we don't have egos, but I'll readily admit mine in this scenario.

Saying it's "just FIFO" is, well, too logical. Because if it were simply logic, I wouldn't feel inconvenienced. Feelings defy logic. The person who ordered online isn't going to notice the two or three minutes, since they aren't standing in line, but I do. And the person who has to wait the food, is actually get paid to do so, as a courrier. I am not. So maybe the FIFO should account for that, is what I'm suggesting.
Is Everything a Computer (2018)
> Artificial general intelligence (AGI) is the intelligence of a machine that can understand or learn any intellectual task that a human being can.

That's what the term means.

Anyway, this idea that human intelligence is ‘not general’ is incredibly short-sighted coming from someone in such a post.

I'm mashing a bunch of pieces of carefully-refined material to convey a bunch of squiggles to convince people I've never met a point about a person I've never met. This sort of unstructured problem-solving is exactly what generality is.
Honu is from 2012. Its primary purpose at the time was to explore syntactic macros in languages with infix expressions. It was not explicitly about identifying alternatives for Racket's future development, as far as I've been made aware. (I've talked about this paper with Matthew before.)

It's also worth pointing out that Racket isn't going anywhere; it will always have parenthetical syntax. The future project being worked on is now called Rhombus to disambiguate it from Racket's past. Racket will not be replaced by Rhombus.
I really want to do this, but last time I checked it also leads to FF sending UTC time back to sites (or something like that), resulting in showing non-local time for your own and other interactions on pretty much all sites like github/slack/... Fairly annoying. I hope this becomes a separate setting at one point.
Both, I believe.
Duolingo is super frustrating if you're learning Spain-Spanish, there are lots of complaints of them not adding Spanish variants of words and Duolingo hasn't moved on it at all in 5+ years.

The premium version is not worth it at all.
I didn't know about Clozemaster, seems really useful to learn complex sentences!

Would you mind sharing the podcasts you're listening to? I'm watching "Arte journal" in German but it sometimes goes too fast and news for kids like "ZDFtivi logo!" do not teach you a lot of vocabulary after a while.
DD is a terrible way to benchmark disks. You want to use fio like is done here: https://www.storagereview.com/node/3520
Um... I'm going to assume this isn't a troll or written while inebriated. What's the big deal for weapons of mass distruction. Okay well dirty bombs for one are easy to do once you have the nuclear material.

Maybe Somalian pirates are relatively chill on the non nation state armed groups out there crazy scale but ISIS and many other terror groups most definitely are not chill. When someone even figures out how to build a powerful conventional explosive you get things the Oklahoma City bombing.

So yeah that's kind of a big deal. The US did essentially invent the weapons and only one to use them in warfare. I think it's also the responsibility of the US make sure it doesn't happen again where they are used against humanity.
Nope, that's not what Bootsnap does. Bootsnap caches the pre-parsed .rb files as ISEQs (bytecode buffers.) It's conceptually a bit similar but not the same.
Two Years Working at Dropbox
Earlier 2.6 versions of Ruby used 5 as the threshold. For a variety of reasons, that was way too low.
Would it matter though? When my house was burgled, the cops didn’t do a damn thing other than file the report. It’s seemingly not worth their time since “not enough money” was involved. We knew pretty well who did it as well. They only caught up with him once he did some very obvious things at grocery stores.
I’ve been following the real estate and renovation sagas. They give you a perspective on the pains of running a small business in Manhattan.

Meme from it:

They’re not Lying, it's commercial Real Estate. mug: https://teespring.com/shop/real-estate-in-nyc
It also uses a heuristic to check if application startup has finished to decide whether a call counts towards the tier1 JIT threshold.