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

> I don't think I need to explain why it's a bad idea for a database to be so careless about data validation.

...Meanwhile MongoDB being successful for years with no sign of decline.


Sometimes it's cheaper to break the law and pay a fine, than to do everything by law.


Seems quite often it turns out you don't even need to pay a fine if you manage to get big enough quickly enough.


Sometimes it’s impossible. Music labels wouldn’t even get in a room with you to discuss web back in the day.


See also: LLMs or Uber (two of many such examples).

It's incredibly disheartening to know that one of the easiest ways to success is breaking the law and hoping it doesn't catch up to you before you have enough money to be above the law. That crime does pay. That lawsuits ruined people's lives for downloading MP3s and some of the biggest companies on the planet stole everything and walk away with a slap on the wrist.

This isn't an anti-LLM comment, it's just depressing how we live in a system with 2 very different sets of rules based on how much money you have.


Seems like a viable idea. Do you have any presentable results yet?


I hate this magazine narrative style, where each consecutive paragraph or two tell totally the same but in different words and referring to another Mr. or Ms. Scientist. The whole article could easily be 10 times shorter.

But the news is good.


There are approx. 3.1 million employees[1] in India's IT sector. Is 56k (which is lower than 2%) so much?

[1] https://www.quora.com/What-is-the-approximate-number-of-IT-e...


US tech companies actually had much larger layoffs however this were again in very low ends. The high and middle ends are booming as if we are back in 2000 bubble. Due to such disparity one should always clarify what kind of tech jobs one is talking about.

From https://www.bizjournals.com/bizjournals/news/2017/02/17/tech...

Computer, electronics and telecommunications companies shed more than 90,000 jobs last year, compared to nearly 80,000 in 2015, according to a new report out from Challenger, Gray & Christmas, a global outplacement firm based in Chicago. Tech layoffs accounted for 18 percent of the total 526,915 U.S. job cuts announced in 2016.

Computer companies were hit especially hard; layoffs in the sector were up 7 percent in 2016. Dell Technologies (NYSE: DVMT) was responsible for much of the uptick when it converged with EMC last year and cut thousands of positions. Intel (NASDAQ: INTC), IBM (NYSE: IBM), Cisco Systems (NASDAQ: CSCO) and Microsoft (NASDAQ: MSFT) also shed jobs, with Intel laying off 12,000 employees, or 11 percent of its workforce, per the report.


You're right it's a fairly small proportion, but when the workforce overall is growing by around ~1 million per month, growth within each sector is essential just to cope (figure source is 2 years old and not IT specific, but still likely to be broadly accurate: https://blogs.wsj.com/briefly/2015/07/22/indias-labor-force/ )


I'd say that 2% of a whole industry being laid off is quite considerable, if 2% of the German car industry is laid off in a single year it'd be considerable, for example.


> For Indian techies, 2017 was the stuff of nightmares.

I still believe qualified engineers had no problems keeping their job or finding a new one. In any country.

No wonder that unqualified employees will always be laid off at some time.


This should've been named "The Royal Bitcoin University" judging from the logo.

Why not just create a course on Coursera or something?


Yeah, me too. This article is a heads-up for those who think the idea of million dollar homepage can't be new anymore.


I think it's fair to say that Go was hardly the first language to implement the concept of coroutines[1]. Probably the only merit of Go here is the short and convenient name of the 'run' method.

[1] https://en.wikipedia.org/wiki/Coroutine#Implementations


    > libmill was a project that aimed to copy Go's
    > concurrency model to C 1:1 [...]

    > libdill is a follow-up project that experiments with
    > structured concurrency and diverges from the Go model.
http://libdill.org/documentation.html


I would say the main advantage is being able to pass couroutine arguments as if it was a simple function. In other coroutine implementations in C (e.g. libtask) you have to make a struct containing all the args and pass that to the run function.


I read that NodeJS is written in C with the same concept in its core - asynchronous on one core (thread) with interruptions. How does it compare to libdill?



So it looks like libuv could use libdill, right?


> So it looks like libuv could use libdill, right?

libuv, has the follow (iirc) genealogy :

        libevent -> libev -> libuv
like its predecessors (with the exception of libev i think) it has grown to be quite large, but its core is still centered on the concept of an event loop. the event-loop itself is hidden, and 'user' code interacts with it via callback event handlers.

given this context, i still don't quite understand how/where libdill might play a role here ?

fwiw, almost all of these event-processing libraries, supports multiple event loops, and thus an event loop is a first class citizen within the library, and implement functions for creating/destroying/starting/stopping loops. multiple event loops find their uses specifically in the context of multi-threaded servers for example.


Could have, possibly, but makes no sense at all to retrofit libuv with libdill at this point


Shameless(-ish) plug: https://github.com/piscisaureus/wepoll is not a fat abstraction layer but it could help with windows support.


Libuv supports windows and in some ways only exists because windows support is needed; on Unix/Linux where Node started, libev was sufficient; libuv was created to facilitate the windows port of node - though it is now standing in its own right.


I know - I am one of the authors of libuv. However libuv is pretty big and imposes its own asynchronous i/o model onto your application.

Later I discovered that it is possible to do efficient epoll emulation on windows so then I wrote wepoll. With it you can just stick to the good ol' epoll/kqueue model and still support windows.


How does it work? It's not obvious how epoll could be built on top of IOCP.


It uses an ioctl that boils down to 'an overlapped version of poll()'. So the call doesn't block - instead when an event like POLLIN or POLLOUT happens, a completion is posted to the completion port.

Call this overlapped-poll function on every monitored socket individually so you don't inherit poll()s scalability problems.

See https://github.com/piscisaureus/wepoll/blob/437fb2f24ce197b4...

This is as much of an explanation I can type on my phone - I'll add more detail to the wepoll readme later.


Sure, I understand. Was just curious about how they both relate, and now I get it.


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

Search: