skysight-inc/HackerNews huggingface dataset:
> [...] when I'm using a language I don't keep the implementation details of it's data structures in my head, I just use the provided API. I think the representation of data structurs is a different discussion.

The exact details of data structures used do not matter, but their implications should still be in your head. Depending on the implementation you may need a separate type for string builder, or can append efficiently only to the end, or can append efficiently to both ends but not in the middle, or can append or insert an arbitrary string at any position but everything takes log(n) time by default.

> Do I need to be aware of 6 different potential ways to sequentially navigate the string? Is there a way to do it using a loop, iterator protocol, destructuring, pattern matching, coroutines, special string indexing syntax, etc? Or can I just use a simple, uniform consistent interface and build the library on top of that?

There is nothing like a "simple, uniform consistent" interface for strings. Strings are conceptually a free monoid^W^W an array of string units with the following tendencies:

- The "string units" can be anything from bytes to UCS-2/UTF-16 units to code points (or Unicode scalar values if you don't like surrogate pairs) to grapheme clusters (whatever they are) to words to lines. Even worse, a single string may have to be accessible in multiple such units.

- Many common desired operations can be efficiently described as a linear scan across string units. There is a reason that regular expression exists for strings but not for general arrays. (Regex-like tools for arrays would be still useful, but less so than strings.)

- A slicing operation is very common and resulting slices generally do not have to be mutated (even though the original string itself can be mutable), suggesting an effective optimization.

As such there are multiple trade-offs in string interfaces across languages and there is hardly the single best answer.
3100 is absurdly expensive when the price of development tools for pretty much every other language is zero. Even if it's that much nicer (which I'm skeptical), to practically use it I'd also have to convince other people its worth paying that much since I want a community. And then it's proprietary on top of all of that? Yikes.
The cheapest LispWorks hobby license is $500 USD in North America [0].

The cheapest Allegro license is $599 USD [1].

If you're already a highly productive professional, this is probably totally worth it. For everyone else, there's no way you're going to get newbies to pay even close to that much, while DrRacket and Thonny are both free-as-beer and free-as-in-freedom.

0: http://www.lispworks.com/buy/prices-1h.html

1: https://franz.com/products/packages/
I was trying to figure out what font they are using and when I was inspecting the page I found the comment below. I have nothing in particular to say about it. I just thought it was interesting.

<!--
...
s, . .s
ss, . .. .ss
'SsSs, .. . .sSsS'
sSs'sSs, . . .sSs'sSs
sSs 'sSs, ... .sSs' sSs
sS, 'sSs, .sSs' .Ss
'Ss 'sSs, .sSs' sS'
... sSs ' .sSs' sSs ...
. sSs .sSs' .., sSs .
. .. sS, .sSs' . 'sSs, .Ss . ..
.. . 'Ss .Ss' . 'sSs. '' .. .
. . sSs ' . 'sSs, . .
... .sS.'sSs . .. 'sSs, ...
.sSs' sS, ..... .Ss 'sSs,
.sSs' 'Ss . sS' 'sSs,
.sSs' sSs . sSs 'sSs,
.sSs'____________________________ sSs ______________'sSs,
.sSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS'.Ss SSSSSSSSSSSSSSSSSSSSSs,
... sS'
sSs sSs
sSs sSs
sS, .Ss
'Ss sS'
sSs sSs
sSsSs
sSs
s

YOU ARE YOUR OWN GOD.
YOU HAVE THE POWER TO CHANGE THE WORLD.
MAKE THE MOST OF IT.
-->
How do you calculate the contrast ratio?
Not automatically inserting subtransactions that aren't necessary, especially when you aren't setting your application up to ever actually use them, as a side effect of something else. Like Django's transaction.atomic(), which at the top nesting level starts and commits a transaction, but which any dynamically nested calls start and commit sub transactions. This is almost never what anybody wants, I can count on one hand the number of times I've seen code that handles failed sub transactions and continues the overall transaction, and which most programmers don't even know how it works or what it does.
This would be good to know. Last week I had a job photographing whales with a drone. Usual legal distance is 300m but I had a permit to photograph from 80m. Meanwhile, I suspect the clients would want results that looked even closer. Being able to upscale the waves and whale details might actually work pretty well in software - it just has to look like a whale up close and not necessarily the exact whale photographed.
I picked this up a while ago. I first started with one of those mood tracker apps on a lark, because for a while I'd been thinking that my general mood was heavily seasonal and I wanted some data to back that up. Eventually I got tired of seeing streams of frowns on the tracker, so I switched to text, and because I wanted it to be completely private it's an org file that I sync with git to a private server.

Apart from taking the time to think about the good as much as the bad, one understated benefit has been that it's helped build a general sense of self. Thoughts are so... ephemeral, we hardly remember the things we thought or felt a day or a week ago unless it's persistent. Noting down what I felt during the day sort of hardened it in my brain, and then reading it a couple weeks later when I remembered it in context established a sense of continuity in my mind. It's been wonderful for my personal development

One tip, or rather, opinion, from my side: I've generally found that prompts, like the ones in TFA, felt too restrictive. They're good to start with, because I suspect a lot of us (myself included) generally don't think about how we feel most days. But being more freeform has unlocked a broader set of emotions that I now write about.
Racket and DrRacket are great, but Racket has a ways to go if you want to package and ship desktop and mobile applications. It can be done with a lot of work, but the result isn't great.

Racket continues to improve. I would love to see more energy put into making it viable as a commercial application development system.
Not really, other countries have better capital controls to avoid fiscal shenanigans.
> The biggest showstopper for podman is that it runs entirely in userspace on Linux.

Why do you believe that? Docker's "root by default" design decision is the bane of Docker. Podman is even described as Docker done right in that regard.
Did you ask them for their code?
Open Source Internship Programs that you can Apply to
I will do a hybrid model with one to two office days a week. I'm just starting my professional career in an fairly traditional organization, so it seems kind of mandatory for my own development. Also, I feel like a little bit of regular social interaction with my coworkers would really be beneficial to me
Oof, screenshots that haven't been updated since the Windows XP era do not inspire confidence.
If I challenge you to a duel, and we both agree to it in writing, that doesn't make it legal even if it is consensual. Similarly, if the NFL puts a waiver in their contracts with players regarding damages related to concussions/CTE, that may (or may not) be enforceable. The US has quite a few labor laws that would likely apply here.

If you live in libertarian la la land, then sure, both sides should be able to come to a consensual agreement without government interference. But in the real world, there are actual, real limits to what you can put in a contract that will stand up in court.

[1] https://en.wikipedia.org/wiki/United_States_contract_law
GME.
Technology increasingly used to 'victimise and control' women with disabilities
Couldn't have described it better. Well put @hatware
Some people can be aware of what you think their emitions are driven by and use it for manipulative reasons when you react accordingly. Probably it is a good idea to treat people as grown adults who can be responsible for their reactions whatever reasons are behind them.
That’s very first world thinking, we don’t have ample supply of vaccines, many countries are still without them. It’s about providing those countries with vaccines vs making first world people slightly more protected.

Also, vaccines are not completely safe, even though in very small number of cases, they did cause side effects, as serious as hearth inflammation or blood clots.
You don't need to do either. Canon offers a webcam utility driver for free, which offers a clean interface via microusb->usb.
This is good historical context but missing one bit and another deserves clarification.

The nesting semantics has been a part of SASS/SCSS for the better part of a decade before the proposal, which is now pretty much standard in CSS pre-/post-processing.

It’s been available to use all that time, but AFAIK still requires a build tool. It’s only now becoming a tentative possibility in userland.
Don't forget, that's an "enterprise" price and it's meant for "enterprise" users. Individuals aren't going to be paying that kind of money, unless they're independent Lisp consultants.

By comparison, IntelliJ IDEA Ultimate is something like $3000 for an individual license over the course of nine years. If you're not strapped in for a decade or more of Lisp, then the $3100 IDE probably isn't for you.

0: https://www.jetbrains.com/store/#commercial?billing=yearly
No "flag" button was available, in fact I have never seen it here on HN. I am not sure how the flagging process should be initiated. Maybe the offending comment must have enough negative karma?
Thinking about it more, probably graph theory stuff.
>https://toot.cat/@dredmorbius/106841164116074208

Fediverse is usually hardcore web 2.0 "runs only in latest Chrome" "I remember entire caniuse.org" sort of stuff, not much different from facebook. So its first adopters can be only non-technical users, but they can't be first adopters of new technology.
Whatever the org is familiar with.

I like the question, though. I've seen small projects that see negligible load, but are mission critical, written in a niche language no one else in the org knows. The language handled the problem good enough, but maintenance costs were massive for what the project was.
That actually goes to the heart of the problem, modern SOCs are basically proprietary components gobbled together on a chip with some internal networking/wiring that each come with their own software that does a lot of stuff before even getting around to booting Linux.

The problem is the proprietary nature of this stuff and the fact that a lot of it is outside of the scope of scrutiny that goes into Linux. It's held together with what basically amounts to glorified duct tape. It's complicated. It has weird failure modes and occasionally this stuff has expensive issues. Like for example security issues.

Very relevant if you want to build an open source phone platform or laptop. Not impossible; but it requires addressing a few things. Like connecting to a 5G network without relying on Qualcomm's proprietary software and hardware.

The real solution is not merely integrating these things as is and trying to reverse engineer them but engineer them from the ground up to work together and make sense together. That larger, open operating system does not really exist. And many proprietary equivalents on the market right now have an emergent/accidental design rather than something that was designed from the ground up.
I cook with my carbon steel somewhat often, and it seems to have built up a nice thin black layer that keeps most things from sticking. Cleaning is a breeze, some dish soap and a couple scrubs. None of the black layer comes off.

Rice does not stick at first, but as it gets hot it does, unless I put around 3x the oil I would prefer. I have a gas range with a large burner so it gets very hot.
Yeah, but it wouldn't be just me, point of writing readable code is so that as many developers as fast as possible would understand what is going on. So in this case I think using the pattern that is most commonly used is the best thing to do.

I've done web for more than 7 years and I still immediately wouldn't recognize why someone has used selectors in such manner (li + li). Just obfuscates things IME.
Iowa is peak midwest. It drops off as you move away from that center. I will postulate that the American midwest is mostly areas settled by Scandinavian immigrants with a little bit of German, Polish, and Dutch mixed in, mostly settled in the late 1800s by farmers. My own family was in this group and they were in direct contact with Native Americans, who watered their horses in their troughs.

Minnesota - definitely.

Wisconsin - definitely.

North Dakota - No. Might not actually exist.

South Dakota/Nebraska - mostly, but just the eastern quarter. The rest is West.

Missouri - Maybe a little bit on the border but mostly no. Iowa fought a war (https://en.wikipedia.org/wiki/Honey_War) to keep Missouri out of the midwest.

Illinois - It's complicated. The northwestern corner is but no further than Rockford and nowhere south.

Kansas - probably not. It is mostly West.

Indiana - No.

Ohio - definitely not. Go find your own classification.

Thanks for coming to my TED talk.
Note the lack of HTTPS and social media preview tags.
OpenBSD: Hibernate Time Reduced
Linux now is basically a UI layer.
This is where standards and bundlers are converging. Move as much syntax to standards as possible to relieve compilers of the duty, use bundlers to do static analysis of dependencies and build optimal packages for the network waterfall.
I think this is the key. I've never used very good or very high-res screens for a sustained period of time, so I haven't gotten used to it. Personally I'm not too keen on jumping on them. My 1366x768 15.6" screen renders text just fine for me.
It feels cozy. I can already hear the faint buzz of the CRT and see my dim reflection on the curved glass.
Great list! I'd just add one complementary platform to the fun. brilliant.org, the way they approach math puzzles is stimulating and has been great to enhance understanding.
You need to subscribe, but if you actually use it I think it is priceless.

Note: this is my personal recommendation, I don't benefit from promoting brilliant, just thought others might share a similar learning style.
Thank you for this link. The differences between the original and the upscaled SR3 model are highlighted mostly for me on the picture of the leopard. The facial markings are clearly different.
I really think Lisp's strength is also its biggest weakness. It's so flexible that it causes massive fragmentation. Everyone has their own toy interpreter. There's a massive schism between Lisp and Scheme. Nobody really seems to have rallied around Common Lisp, and thus it's not actually very Common in any sense of the word. On top of that there is no canonical implementation of "Lisp".

Lispers love to say "Lisp is a family of related languages" which is great but daunting to a beginner, and I think also deters people from contributing to the ecosystem, which is where I feel Lisp really falls down. There's just no ecosystem of reliable, standard-ish packages.

There's Ironclad for crypto, but in the readme it explicitly says not to consider it secure because there are trivial side-channel attacks against arithmetic depending on your implementation (again, fractured ecosystem)

There's lquery, CLSS, and plump for web scraping, but you can't scrape anything modern with them and the author seems to have abandoned the libraries

There's a GPIO library that simply doesn't work

Et cetera, et cetera, et cetera.

Compare that to something like Go or Python, where there are rich, polished, full-featured libraries for nearly every application you can think of.

I thought about writing a bot to scrape finance data in Common Lisp, but I didn't want to have to write the scraping and DOM traversal logic from scratch. I thought about using Lisp to have my raspberry pi monitor my hobby garden, but the GPIO library doesn't work at all and I didn't want to write my own.

I picked different languages and was immediately productive thanks to wonderful community libraries.
Interesting talk but I'm not convinced of the value proposition of "rediscovering hardware". The speaker points out that there are lots of small processors inside a modern SoC that are often running their own software hidden from Linux. I agree that there are security implications here a la Qualcomm Hexagon vulnerabilities or Intel Management Engine backdoors but I'm not sure what the speaker's proposed alternative is. Is it that a "true" OS would directly execute the duties of these hidden processors? This is extra work that would make systems slower. Having dedicated hardware handle these duties is an optimization (hardware acceleration). Alternatively you could replace these small processors with fixed function hardware. This would make any system flaws permanent although it would be much harder to exploit any vulnerabilities. Does the lack of hidden processors make the system "better" somehow? (aside from potentially more secure) Are bus masters and hardware accelerators part of the OS?

It would certainly be a more beautiful system that I would love to see, but I need help justifying the engineering cost. I hope to see some open hardware passion projects along these lines, but I doubt they will ever be mainstream.
I notice it adds blemishes and freckles to where were none before. This seems weird. Sure it looks more "realistic" but that is no actual reality.
If that's what you want, you can happily use Postgres' UPSERT implementation, and abandon subtransactions very easily.

https://www.postgresql.org/docs/current/sql-insert.html#SQL-...
Agree, it's easy to carry around a plug-in numeric keypad if you really need one.
There was no "stupid large marketing budget" in 1996, when the only thing available was the JDK, and we had to use emacs/vi/Ultraedit to write our Java programms and rely on makefiles to build the whole thing.

Yet our distributed computing department decided to move right away into Java from C to teach distributed systems, thanks RMI and a coherent toolchain across the platforms we had on the labs. Similarly by 1998 the compiler development classes had moved from C into Java, thanks tooling like SableCC.

By 2000, IBM that used to be a big Smalltalk vendor, and used Smalltalk as foundation for their Visual Age IDEs, moved into Java, and from Visual Age ashes Eclipse was born.

Borland added a Java IDE to their collection, while Symantec not only did the same, they also created their own Java implementation.

Ah, and then there was this fellow called Anders Hejlsberg that left Borland to Microsoft, and joined Visual J++ team.

That is real work, and people paying real money for products.

We didn't need someone shoving it down our throats to appreciate what it brought into the 1996 - 2000 computing landscape.
I hated math growing up.. I thought I was stupid and just didn't not get what was taught to me.. I went into the liberal arts.. now I am dev and I love math now.. I am trying to learn so much. I struggled with basic algebra my whole life.. but the older I get the more I love math. Thank you!! Just reading this and follow someone videos my understanding is so much better thank you.
Problem with svgs is that the text don't auto scale.
I understand your point of view, but absurdly expensive is a very relative term. When I do a cost benefit analysis, I see that the cost for my use case is quite cheap. I have the benefit of only having to convince myself. That being said, I have worked at much larger companies who spent much more on various software licenses and wouldn't have blinked if I submitted an expense report for $3100 for a piece of software.

The IDE is proprietary, but the code is all Common Lisp. If one had to leave the platform, or the platform went away, you might have a problem with the native UI layer, but not with any other code.

The price does reflect the difficulties a company has when there has been a race to the bottom in pricing, or in the case of Apple and Microsoft, the floor was removed for development tools.
How would you feel as a working class citizen, when homeless drug addicts are given a place to live rent-free while you have to work hard every day just to stay afloat? How would you feel if you had children who lived in the same neighborhood as a drug motel? These problems are complex, and require solutions that are more thoughtful than "just give them a place to live and leave them alone."
>It made you think about your program a lot more before you hit the keyboard.

And as I have ranted about it for a whole decade, This was pushed by Google / Facebook or Silicon Valley. Thinking long and hard before you hit the keyboard are wrong in modern software development.
What if it turns out to be 30 days?
That would be up to the people running the journal. They no doubt have their own ideas about what should or shouldn't be included or will know it when they see it.
On my phone and in a hurry now, excuse my not ddging it, there was one by a british university, paid though. I may have it in my bookmarks. Will respond with link later if noone else does.

(edit) There you go:

https://www.futurelearn.com/courses/functional-programming-e...

https://www.futurelearn.com/courses/concurrent-programming-e...

There are older videos from them on YT:

https://www.youtube.com/playlist?list=PLlML6SMLMRgAooeL26mW5...

https://www.youtube.com/playlist?list=PLR812eVbehlwEArT3Bv3U...

Found this in my Erlang bookmarks:

https://spawnedshelter.com/
Obesity rates going up may actually be a side effect of widespread PFAS exposure (some of which is possibly from these non-stick pans).

https://slimemoldtimemold.com/2021/07/26/a-chemical-hunger-p...
It’s the same reason backtracking is a performance hit in any scenario. CSS is blocking, and if a selector needs to wait for every network resolution and JS parse/execution to resolve it’s essentially as expensive as your worst case scenario.
Much better than the article one.
> That’s frequently the challenge mobile operators run into - the OS needs privileged access to location services (eg 911) that it can’t grant untrusted code.

It doesn't actually need this. The phone app can just ask for permission to access your location, which you would then give it when you call 911 because you want the emergency responders to know where you are.

Anyone who really wants to can already deny the phone their location by using a Faraday cage with a WiFi access point in it so the phone has internet but no GPS or cellular triangulation. You can't prevent it by not allowing the user to deny the permission.

There is no excuse for special permissions.
I thought almost all laptop before 2010 is like this though. It was normal back in the day.
Like on a telephone :)
> When doing multiple steps that need to track external state

Do you have an example of this? Many explanations for SAVEPOINT say it is useful when 'recalculation is deemed too expensive' but I cannot come up with a satisfactory example where this is truly the case.
Should You Be Using Twitter to Grow an Audience?
>for cases where you want a reproducible build environment.

Or just create your reproducible build environment as a QEMU VM image instead of a docker file. That way you only have to install a VM image, instead of install VM image/OS + install Docker + install your Docker file.
Infinite amount of both. But there is also issue of remembering which is not as easy as people assume and of comparing.

And of light conditions and context affecting your perception. And so on.