skysight-inc/HackerNews huggingface dataset:
http://explicable.ai/

It's a dead-simple data exploration and prediction micro-saas, but with a lot of nice pixels and state-of the art AI/ML algorithms. Most people think AI/ML is indistinguishable from magic (especially high-ranking decision makers). Let it look like magic!

----

Currently in open alpha. I'd be quite thankful if you the reader want to provide feedback, or tell you need a feature, or tell if you feel you have a need for it (or know someone who does), and how much you would pay for it; at contact@explicable.ai or pro+hn@benoit.paris or here. Do not hesitate to ask me for a demo, or tell me you want to start buying the service ;)

Quite open to be sponsored/funded as well!

----

How you interact with it:

1) Prepare your data in excel/csv according to guidelines, upload it

2) Explore it like in the demo and get insights. Get a report and a link that you can share.

3a) Redo a cycle to 1) if necessary

3b) If it's ok, you can upload new data for prediction
I've been doing modules for decades.

Part of the reason is that anything that leaves the application package increases the error potential exponentially.

Also, modules "bottleneck" functionality, and allow me to concentrate work into one portion of the codebase.

I'm in the middle of "modularizing" the app I've been developing for some time.

I found that a great deal of functionality was spread throughout the app, as it had been added "incrementally," as we encountered issues and limitations.

The new module refines all that functionality into one discrete codebase. This allows us to be super-flexible with the actual UI (the module is basically the app "engine").

We have a designer, proposing a UX, and I found myself saying "no" too often. These "nos" came from the limitations of the app structure.

I don't like saying "no," but I won't make promises that I can't keep.

BTW: The module encompasses interactions with two different servers. It's just that I wrote those servers.
>the farm products when used once are used up, videos, texts, "content" can be reused theoretically infinitely.

How is this a useful distinction? It's about how you can sell the product, but doesn't change the fact that you don't own your lot, that you pay a percentage share to the owner of the place, that they can change the terms or even crush you anytime they like, and so on.

>furthermore you paid for the right to work the land what the landowner asked, nobody pays a minimum rate to have a YouTube channel that I am aware of.

What you paid to the landowner was a percentage of your lot's production, same as with YouTube.
Just use a proper IDE. It doesn't care about how your code is structured and can easily show you what you look for in context.

(And other tools like symbol search https://www.jetbrains.com/help/idea/searching-everywhere.htm...)
taxes give more money for politicians to steal, whats good about it?
I think dcom does this
Counter point: you have 2650 files, with a couple of 10 line functions in each. Your task is to just make it a little bit faster. Where do you start?

Answer: the same place - with a profiler. Logical code organization matters a lot more than “physical” break to specific files.

I have inherited a Java class spaghetti project in the past, with hunderds (perhaps thousands) of short classes, each which doesn’t do much but sits in its own file - and I would much prefer to work on an SQLite style codebase, even if I have to start with the amalgamation file.
For a sad look at what happens when things go in the opposite direction:

https://bittersoutherner.com/feature/2021/it-runs-downhill-t...

I grew up in this area and it’s very sad to see a place that held an incredible amount of life become a shell of what it once was.
Closing Industry Frontiers
For us the answer was just "get you and your loved ones to high ground, forget about the dang servers, let them go down, it's just computers". Refreshing. In any case the correct investment is in automated recovery systems and a business plan/partnerships that don't demand unrealistic SLAs.
Right. I think a key miss was underestimating value of code that would work w both 2 and 3. This avoids need to upgrade all at once.

Relax things a tiny bit in 3, back port to 2 via futures, get a library like six going. It could have been a ton easier.

In fairness by 3.5 maybe they’d realized this, but a lot of lecturing was done before. Initially recommendation was to upgrade all dependencies and programs to 3 and not try and make dependencies work w both
CORBA made rpc calls opaque, which was nice in theory, but there are faults that need to be handled only for remote calls. It’s a lot of extra code to handle those faults that you don’t need for local functions.
IEDM 2022 – TSMC 3nm
Yeah, if we look at Ruby 2 (which fixed similar issues as Python 3 did) instead we can see that it does not need to be so painful.
Apple's graphical shell is called Finder unless they renamed it for some reason.
A language that does not derive information from whitespace, doesn't mean the language is written without whitespace. Java, Go, Javascript, Rust, etc are all regularly written with whitespace, and have tools to enforce such formatting, but they don't derive information from it.

Also, Python has existed for decades and still there is little further adoption of indentation-sensitivity. It doesn't seem like a wave of indentation-sensitive languages will be coming any time soon.
It basically blindly trusts (and runs) whatever the website gives you. If the website is taken over or somebody messes with the dns, you'd end up executing the malicious payload.

If this was a standard package, like the ones you get from apt, brew, npm, maven, pypy, or even a versioned binary, you have the option of verifying the checksum, pinning the version, analyze the package with a SAST thing like snyk, or whatever you are using, etc.

Esp considering today's popularity of such attacks, more and more companies/teams are becoming more security-minded. Thus increases the desire for an installation process to be something more than just running a sh with full privileges.
> You talk as if Jobs brought us innovation that never would have arrived without him. In reality, he was able to get it to us a year or two earlier and maybe with a little more style.

I think this is a reasonable perspective, and you could be right, but you could be wrong too. We don't get to run an experiment on this one. There are obviously huge things Jobs did that I take issue with (I hate the copyright and DRM crap in Apple Music, for example, and the whole patent war with Samsung was terrible), but at the same time, he grew up decades before me and I got the privilege of living in a world he helped created. Who knows where the world would be without him pushing it.

> Given the choice, I'll take the product not made under duress, even if I have to wait a bit longer.

I think we may be able to get to a world where we can have that, but not in today's world, IMO. There's still far too much evil and not enough infra for truth, that if the good people don't push much harder than the bad and indifferent, we may never get there. Of course, not something we can test, just have to discuss and place our bets.
exactly, seems like a big oversimplification. I'm "agreeable" at work, as in, let's see if you are correct about your way, and if not, we'll correct it based on the data. Rarely there is a predictable binary decision about how to build stuff, at least in software.
Andy certainly has a flair for rhetorics :-)

From his 2021 DBMS year in review:

> Too much blood has been shed in the database community in previous benchmark turf wars ... I even broke up with a girlfriend once because of sloppy benchmark results.

Well, better over that than over east const vs const west.
9mo from the start of the Ukrainian war.

For all the criticism modern governments get (often rightly) it’s incredible how fast Germany built these new terminals.

And it does show we have just as much productive capacity in western societies today as we did 100 years ago. What’s missing is consensus that problems should actually be solved, not used to enrich yet another rentier class.

I hope Germany learns from this and keeps away some of the barriers to growth they regulated into existence.
You greatly underestimate the complexity of games, and greatly overestimate the complexity of working with distributed systems over social graphs
> There's no way that this website is in any form of compliance with GDPR...

Doesnt seem like it needs to be
I think we are conflating (at least) two different issues here because we don't have a good way to deal with them separately. Closure on one hand and implicit logic on the other.

Most of the time when I split out a method what I want is a closure that is clearly separated from the rest of the code. If I can have such closures, where input and output is clearly scoped, without defining a new method, that might be preferable. Lambdas could be one way to do it but they still inherit the surrounding closure so it's typically not as isolated as a method.
Ask HN: What are the best ways to teach teenager re computer viruses?
My teenager asked if I could help him learn about computer viruses. I don't know where to start. Any suggestions?
A Programming Language DataBase – 2022 recap and roadmap for 2023
A great one!

Better quality here: https://www.youtube.com/watch?v=xzS5xdSeS10
As someone who has personally dealt with files as large as 60K lines, I disagree completely. I believe instead that structure and organization should be added as a business and codebase scales. The problem I think most orgs make is that, as they grow more successful, they don't take the time reorganize the system to support the growth, so, as the business scales 100x in employee account, employee efficiency is hampered by a code organization that was optimized for being small and nimble.

It gets worse when the people who made the mess quit or move on, leaving the new hires to deal with it. I've seen this pattern enough times to wonder if it gets repeated with most companies or projects.

I do agree that microservices and/or modules aren't magical solutions that should be universally applied. But they can be useful tools, depending on the situation, to organize or re-organize a system for particular purposes.

Anecdotally, I've noticed that smart people who aren't good programmers tend to be able to write code quickly that can scale to a particular point, like 10k-100k lines of code. Past that point, productivity falls rapidly. I do believe that part of being a skilled developer is being able to both design a system that scales to millions of lines of code across an organization, and to operate well on one designed by someone else.
Sounds like you mean distopia rather than utopia there.
git diff understands function boundaries, and for many languages will “report” equally well on a single file.

It’s a good idea to break things down to files along logical boundaries. But got reporting isn’t a reason.

edit: "got diff" -> "git diff". DYAC and responding from mobile!
A small step in the right direction.

When will we see a company forbidding Slack and Teams?
Ask HN: Do you think Meta could compete with AWS?
Meta has clear expertise in running huge data-centers. Do you think they could with AWS, Google Cloud, Azure and so on?
Microservices, while often sold as solving a technical problem, usually actually solve for a human problem in scaling up an organization.

There's two technical problems that microservices purport to solve: modularization (separation of concerns, hiding implementation, document interface and all that good stuff) and scalability (being able to increase the amount of compute, memory and IO to the specific modules that need it).

The first problem, modules, can be solved at the language level. Modules can do that job, and that's the point of this blog post.

The second problem, scalability, is harder to solve at the language level in most languages outside those designed to be run in a distributed environment. But most people need it a lot less than they think. Normally the database is your bottleneck and if you keep your application server stateless, you can just run lots of them; the database can eventually be a bottleneck, but you can scale up databases a lot.

The real reason that microservices may make sense is because they keep people honest around module boundaries. They make it much harder to retain access to persistent in-memory state, harder to navigate object graphs to take dependencies on things they shouldn't, harder to create PRs with complex changes on either side of a module boundary without a conversation about designing for change and future proofing. Code ownership by teams is something you need as an organization scales, if only to reduce the amount of context switching that developers need to do if treated as fully fungible; owning a service is more defensible than owning a module, since the team will own release schedules and quality gating.

I'm not so positive on every microservice maintaining its own copy of state, potentially with its own separate data store. I think that usually adds more ongoing complexity in synchronization than it saves by isolating schemas. A better rule is for one service to own writes for a table, and other services can only read that table, and maybe even then not all columns or all non-owned tables. Problems with state synchronization are one of the most common failure modes in distributed applications, where queues get backed up, retries of "bad" events cause blockages and so on.
I used to agree with this, but I would actually now suggest doing the inverse.

Rust will beat you over the head with a way of thinking that carries nicely back to C++, and the tooling (Cargo, etc) is more comparable to what someone coming from another language ecosystem would know. Smaller things like Rust's decent support for functional programming seems to click with everyone I know who's dabbling from the JS world.
I am working on a project that uses a microservice architecture to make the individual components scalable and separate the concerns. However one of the unexpected consequences is that we are now doing a lot of network calls between these microservices, and this has actually become the main speed bottleneck for our program, especially since some of these services are not even in the same data center. We are now attempting to solve this with caches and doing batch requests, but all of this created additional overhead that could have all been avoided by not using microservices.

This experience has strongly impacted my view of microservices and for all personal projects I will develop in the future I will stick with a monolith until much later instead of starting with microservices.
Some people at Microsoft were ACTIVELY against CoreRT, even some very high profiles, and yet they still work for that company, i don't get it

Long live to the people who worked on CoreRT/NativeAOT and the people who pushed for it

Great tech that will empower great projects

An example: https://icculus.org/finger/flibitijibibo
I find that the practice of "software engineering" has a fuzzy distinction to "computer science." I highly recommend the following books that helped me out on that journey:

- Continuous Delivery by Jez Humble and Dave Farley

- The Pragmatic Programmer by Andy Hunt and Dave Thomas

- A History of Modern Computing by Paul E. Ceruzzi

- Version Control with Git by Prem Ponuthorai and Jon Loeliger

- and SICP. Understanding it is like accessing a new dimension of power.
One example: the telecoms launched an attack campaign demanding the government prevent competition from entering the market.

https://www.cbc.ca/amp/1.1316055
8vdX Launches ‘Seedex Booster’ to Help Startups Raise Pre-Series A Funding
Your comment is just as needlessly inflammatory as theirs. Chill.
What made you understand that?
Well, anything what allows you to express the wiring problem in formal terms and solve it. A dependency injection library. Implicit resolution mechanism in Scala. They may solve basic wiring problem.

distage can do more, like wire your tests, manage component lifecycles, consider configurations while solving dependency graph to alter it in a sound manner.
It's a simple tool. Like any tool, you need to know when and how to use it. A conference would not be a great example, as there is generally plenty of other context to discuss there.

And yes, knowing when/how to exit a conversation is another important skill in itself.

But "run out of things to say" is not always accurate. It's sometimes "locked up on what to say next" or "a struggle to get over the hump to both parties opening up". Sometimes there are still interesting conversations to be had if you can get past that. If you write off everyone just because they aren't great conversationalists or are introverts, you will skip over a lot of interesting people.
SumUp and Zettle are typically used by small businesses, not big ones, and even in this space, there's competition. [1]

I don't believe MasterCard and Visa are forcing anyone's hand, but they obviously give better deals to card issuers that don't co-brand their card with the domestic payment network. The scheme fee is the smallest part of the overall transaction fee, in the end it's mostly banks that profit from ditching Girocard and the like. These networks cannot survive on their own since people need a payment card that works in neighboring countries.

The EU should really push EPI [2] but I belive the initiative has stalled. Empsa [3] is also promising, but in practice the transaction fees aren't cheaper than using a MasterCard or Visa debit card, at least for now.

1. for instance https://www.stancer.com

2. https://www.epicompany.eu

3. https://empsa.org
Ideally yes. But there are two major differences between a local and a remote call:

1) A remote call – inherently – fail. However, some local calls never fail. Either because they are designed to never fail or because you have done the required checks before executing the call. A remote call can fail because the network is unreliable and there is no way around that (?).

2) A remote call – inherently – can be very slow. Again because of the unpredictable network. A local call may be slow as well but usually either because everything is slow or because it just takes a while.

So if you have a call that may or may not be local you still have to treat it like a remote call. Right?

I think having a certain set of calls that may or may not be executed locally is not that bad. Usually it will just be a handful of methods/functions that should get this "function x(executeLocally = false|true)" treatment - which is prob. an acceptable tradeoff.
13 Years Later – Does Redis Need a New Architecture? (2022)
DCOM and CORBA are the two tarpit nightmares that you want to do everything you can never to have anything to do with.
Would be nice if they did the same thing with Nuclear and Renewables though wouldn't it?

Some how they can "go to war" for gas, but when it comes to climate change it's, "meh"?
> eat your vegetables

Nah, I'm good.
I like zig, the simplicity, and explicitness especially, the meta programming is really cool, but having now experienced the borrow-checker, I don't think I'd ever want to program without one. Rust isn't simple, and on occasion, it isn't sufficiently explicit for me, but it has a borrow-checker.

For those reasons I'm very excited about Austral. The borrows, linear types, and the notion that anything that isn't explicit is wrong, all appeal to me.
I welcome Python3 just fine. Character data no longer being automatically ASCII might be a bit annoying, but it's fine if that's what it takes to support a more global developer base.

I just wish they would stop iterating on the minor version so quickly. Why are we on python 3.11 (for workgroups, just kidding)? Is there that much of a difference compared to 3.7? 3.7 even has dicts with stable key insertion order and type hinting, so it seems pretty loaded if you ask me.
> We chose to trust because it lets us all do more cool and useful things faster. All of us.

Which is why I only use licenses from FSF: I want cool stuff I can use… I don't want my cool stuff to be used in cool stuff I can't use, or is used against me.

Anyway not inserting malware is not the same as "this is no longer maintained so I remove it to not be bugged about issues"
I like it too but only to visit and party every now and then, since, due to the massive liberal and expat/immigrant population there, it's the only place in Germany where I feel comfortable and at home, and not in a conservative conformist dystopian nightmare, despite me being fluent in German.

But with the general poor state of the city despite the high income taxes, and that terrible housing market over there I can't ever see myself moving there to live permanently today. In hindsight maybe 4-5 years ago, when housing was still easier to find, would have been the better time for that but not in the current housing market. If you lucked out and got a nice flat before housing went to hell, good for you. But then good luck next time you need to move again.

Unless all you care about is tech start-ups and wild parties with drugs and cheap food and beer, the housing market there and general poor state makes it a bad place to live if you're used to high quality of life cities that are well kept, like Vienna for example.

I'd like to live in a place where finding housing that isn't overpriced and poorly maintained, isn't a full time job in of itself where you waste dozens of hours calling agents and fighting with hundreds of people hunger games style just for the opportunity of living in an overpriced shitty uninsulated flat that hasn't seen any renovations or modernization since the early '80s (if you're lucky).

Maybe I'm getting old, but since I'm not a student anymore, the party scene doesn't make up for that huge hassle.
I think aggressive or maybe excessive is a part of that. When you're not willing to accept an opinion and just give up, it's one thing. If you put up a huge fight every single time, it's more of a problem.
Their definition of disagreeable meaning "behaving in aggressive, selfish, and manipulative ways" also surprised me.
I believe THC is still illegal in France.
So it's mostly convenience - a certain base of weed users don't want to buy from dealers, or want the security of a well produced product - an illicitly produced THC vape can be dangerous [1][2].

CBD (particularly the terpene infused ones) fill that gap.

[1] https://www.independent.co.uk/news/health/vaping-cannabis-oi...
[2] https://www.vice.com/en/article/xweejk/cannabis-vapes-pens-b...

Edit: Should also mention there's a market for the effects of weed, without the 'high'.
Love this. As a music YouTuber who can’t stop buying camera lenses and instruments and isn’t yet at the 1000 sub mark for monetization, my earnings are solidly red. Nice to see that black is possible. (I’ll keep creating and sharing either way though)
Android developer with a product mindset. 5+ yrs of experience working for clients as android developer. Practical knowledge of agile processes and running sprints to build state-of-the-art software. Also works on backend platforms, and APIs to build end-to-end systems with React, Node, Typescript, AWS Lambdas, EC2, and Firebase.

Name: Amit Kumar

Location: New Delhi, India

Remote: Yes, remote preferred.

Willing to relocate: Depends on opportunity.

Technologies: Android, Java, Kotlin, React, Typescript, Node, AWS, Firebase, Python, Cryptography.

Resume: https://docs.google.com/document/d/1MieGcpv1iUg2aWmF1mMEYXlL...

Email: mr.doc10jl96@gmail.com

Looking for Senior Android Dev opportunities.
* only mac
It being necessary to use shibboleths/code words to authenticate to each other over video chat (eg, to ensure that the person you're speaking to is who they appear to be, not someone else using deepfake puppetry).

Really this is an implicit biometric authentication mechanism, and biometrics are usernames, not passwords. (Though I'd love to be wrong about this one.)
I think you meant dystopia, not distopia.