skysight-inc/HackerNews huggingface dataset:
I disagree and I think it's a common viewpoint from people who invested significant time in the apple or android ecosystem. Of course you'll be happy to have native developers helping you out in your career instead of becoming yet another web developer.

I'm not a native developer (kind of jack of all trades) but I had to do some tasks in iOS, Android, web and desktop development.
iOS and Android are incredibly overcomplicated. Web used to be fine but it's going in that direction as well thanks to Angular and React.
I wish just using Qt was a viable choice.

I used to work in a company with a very popular app (can't tell how many active users but they have 2.5M reviews right now and they're top 50 in the iOS store) and the only reason they weren't web cross-platform is that they saw an exodus of native developers once they attempted that.

They had huge parts of the application in web-views though, so we had half of the animations native and half native. They had a native canvas based editor and 3D games running in a webview (as crazy as that may sound: that's exactly the kind of thing I would have done natively - but they didn't want to implement 3D games twice for web / android and metal).

I can't really say I could tell which was which but error logging was happening in different places so you would normally find out when debugging errors or seeing the web-views in the code.
New Video Game Lets You Drive Ukraine's Fearsome Tractors
Would love to use emacs but for my use case everytime I open a relatively big json file it takes couple of sends until emacs is usable while lsp and other plugins run on it. I keep hitting these annoying lags when I can't use the tool for 1-2 seconds while something runs.

Is this something I could avoid or it's unavoidable since Emacs is single threaded?

Using Doom Emacs at the moment.
Not if you're trying to make a playful app design like the author is doing. This design is halfway between a normal application and a game.

I would do silly things like clickable image views to get the style right if buttons don't provide the necessary customisability, were I in the author's position. I don't think anyone would be happy with that.

I'm all for platform consistency, which there is very little of these days, but for every API you restrict someone will find a good reason to work around it and that's where the ugly hacks come in.
For me Shotcut won in usability. Openshot often had no tools for what I wanted, and Kdenlive was just so clunky with the interface I wanted to throw my laptop away and pay someone else finish the project. Shotcut is by no means perfect and for example simple masking ends requiring sliders in the plug-in to adjust the rectangle size on the display... but it still won.
Location: Sacramento, CA
Remote: Yes
Willing to relocate: No
Resume/CV: Available upon request
GitHub: https://github.com/soulofmischief
email: hello @ bad-software dot com

Senior full-stack JavaScript-focused engineer with a focus in single page apps, UI/UX, web games (three.js, etc) and crypto/web3. Fast-paced learner, capable Linux sysadmin. Wearer of many hats.

Looking for interesting and fun problems to solve! Contract/part-time/full-time welcome depending on the role.
I agree, deadlines and estimates are used to cover up for product actually not having a solid use case and design in the first place.

Which is also not just blame the people that work as product managers, but also a critique of Agile swerving too far away from waterfall and now having no method whatsoever for requirement analysis and leaving a lot of really important work to fall through the cracks.
Here is «Ukrainian fArmy» game homepage:[0]

FTR, There was few issues reports with NVidia & OpenGL under Linux, so here[0,1] is a solution:

VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json ./UkrainianFarmy.sh

[0] https://ukrainian.itch.io/ukrainian-farmy

[1] https://itch.io/post/5808513

[2] https://itch.io/post/5808519
SEEKING WORK | REMOTE / US

Senior full-stack JavaScript-focused engineer with a focus in single page apps, UI/UX, web games (three.js, etc) and crypto/web3. Fast-paced learner, capable Linux sysadmin. Wearer of many hats.

Looking for interesting and fun problems to solve!

GitHub: https://github.com/soulofmischief
email: hello @ bad-software dot com
Thank you, I believe I have met all those guidelines.

I would rather discuss the article than carry on this meta-discussion any further.
No, nuclear is actually not that great for that. You need a power source that is cheap to scale up to cover discrepancies between supply and demand. If you build nuclear capacity for that you might as well just run it all the time and not build renewables. Nuclear has very small marginal costs, but huge up front capital expenses. You really don't want to run it at 10% load most of the year to cover the times where neither the sun shines not the wind blows.
The verbosity of Lisp is one of its biggest draws for me.

It means that I can easily read and understand what's going on in a program I've never seen before, or in my own programs after I've been away from them for a while. This is doubly important for me, as I jump between programming languages a lot.

In other, more terse languages, getting back up to speed is a lot harder for me, as they use a lot of shorthand that I forget after being away from them for a while, but with Lisp spelling things out by default, reading it is a lot easier for me.

This increased readability also makes for much easier management of complexity. I can build on a readable foundation to make a more readable larger program as well.

At the opposite side of verbosity you find the terseness of regular expressions and conventions favoring the one or two character variable names and operators of languages like Haskell (not to mention various esoteric languages deliberately designed to be difficult to program in). I can understand the appeal of this sort of compression, and sometimes it's useful for little programs, but for me they tend to lead to a write-only style that's too high a price to pay unless I'm doing nothing but programming in that one terse language constantly so I never forget what all that line noise means.

I generally value simplicity, clarity and spelling out exactly what one means over terseness and cleverness, and that's a big reason why I prefer Lisp (and especially Scheme, which is the simplest and most elegant Lisp dialect that I know of).

As for parenthesis, they make it a lot easier to reason about what's going on in the program. Instead of the language forcing the programmer to do the work of figuring out what expressions apply to what, in Lisp it's clearly spelled out for you so you know exactly what's going on by the parenthesis. It just makes programs a lot clearer, and it also makes the implementation of other language and editor features easier, as it removes a lot of ambiguity in the code.
(This is exactly what I do.)
I agree that WS replay could be very powerful, but I'm not sure it's straightforward. Once you get out of the realm of request/response and you are dealing with subscriptions, connection multiplexing, or frankly any other sort of pushed data that is triggered by whatever is on the other end, knowing how and when to play that back against new sessions is very hard. It seems very application specific on face value.

But I agree that it would enable replay for a lot of very interesting, complex projects. I've worked on some FX trading UIs that have been challenging to test without standing up a lot of backend services.
Done: https://github.com/seanmorris/php-wasm
presuming you did a `/<search>` for the results you want, you can follow it up with:

:%s//<replacement>/gc
I'd say just rent hosted dovecot from a reputable company and you're then free to build your own filters, tools, pipelines on top of that.

My favorite is mailbox.org
Because old map was printed on paper and main data displayed was the map itself.

New digital maps are shown on screen and main data is mostly something else and map itself is used as a backdrop for it.
https://alternativeto.net/browse/search/?q=Video%20editing is my go to most of the time. It's not perfect in classification and it has some trash. But overall I find good suggestions.
This is freakin genius. I always wondered who played those farm/trucker sim games and who spent time developing them... this feels like a moment for that whole genre.
TIL that Ocaml/SML are compiled into lambda expressions... I literally thought lambda calculus is only used in CS classes.

OCaml's syntax is pretty annoying but type inference is actually amazing.. I changed my mind over it, as previously I thought explicit type annotations are simpler. Turns out, it would be humanly impossible to explicitly annotate every piece of OCaml, just let the compiler do it for you
There are a few takes on this:

- If someone's just bullshitting you straight up, and you can find multiple instances of this by examining the more straightforward parts of their statements, then you can choose this route. This also often applies where there is no there there --- where an "argument" is simply an endless firehose of muck, as with the Qanon case.

- If the core is solid, and your goal is gaining knowledge rather than Winning Imaginary Internet Points (or playing at more substantive rhetorical games, of which there are in fact many) ... then you've won by learning something.

- If the core proves difficult to untangle or validate --- pointing this out is a valid criticism as you're putting additional valid burden of proof on the party arguing that case. Without substantiating their points, the argument is based on confusion, uncertainty, or ignorance rather than empirical merits.

- In many ways, empiricism is a Steelman argument of the form "evidence trumps theory". If there's some theoretical argument and you can show that the evidence clearly contradicts it ... I'd argue that's a form of steelmanning. Of course in reality such evidence may be tremendously hard to obtain, or not clearly decisive, or require extensive interpretation to judge.

- There are arguments which come down to statements of values. As was pointed out on the Ezra Klein podcast earlier this year, it's really hard to definitively argue for the superiority of one set of value judgements over another (though not necessarily impossible). You can point out that this is the nature of the disagreement, however. In the sense of steelmanning, this would be a case of pointing out begging the question in its correct sense --- if you presume that your argument's conclusion is a superior value, then you cannot invoke that assumption to prove the conclusion as the argument is the conclusion. I'd had a recent discussion of tenant vs. landlord rights on HN where this seemed to be the case. You can state that property rights are important, but if you're using the assumption to prove that property rights are superior to tenancy rights ... you don't have a logically sound argument.
That's not true.

https://www.autodesk.com/products/fusion-360/electronics-eng...

https://www.autodesk.com/products/fusion-360/features
I was never asked to do them but I like to solve these contained problems very much. You certainly get much faster if you already did some of these assignments as they are often similar but I believe it is not on the mind of those putting forward these tasks if they evaluate the time a developer would need. So don't take it too hard if you need longer but it probably shouldn't be much longer than double the suggested time. You also don't want to work for free.

It is like IQ tests. The more you take the smarter you get. But then again not really...
When backbone.js was the new hotness, you used to do this by templating out the page (in PHP or whatever) and including in the head some JSON that the page picked up on client-side render.

It is all common sense, and I feel like the language reinvention is an attempt to make old things new, not new things better, because everyone wants to performatively demonstrate how far up the curve they are.
The whole privacy-through-UA thing maybe gone too far though. Safari on M1 Mac identifies itself as Intel Safari. A web server knowing whether you use an older or newer Mac is not going hurt anyone, but the lack of it does hurt the UX of distributing Mac apps. For download size reasons you really want to give the user a build for the right CPU architecture, but due to this lie you have to either ship a fat app to Safari users (much slower downloads), or give up and ask the user which to pick. Chrome has an API that lets you determine the CPU arch using JavaScript.

Really there's nothing wrong with having a UA header but it gets abused because HTTP never had any standardized way to communicate feature sets. It should have had both. A way to identify specific apps for bug workarounds etc, and a way to communicate what versions and parts of the specs are implemented.
So because of the internet people are no longer able to issue a short apology? How convenient.
I spent a year of my life working on DL for Neuro. The huge problem is data availability. It's just unfeasible to train anything "deep" with the datasets available today. Until some well funded organisation / government comes along and open sources a dataset in the correct order of magnitude of samples - it's just not going to happen.

Still - you can have great successes with classic linear models, and the underlying effects of fMRI are very real. I look forward to the day a multimodal dataset of cutting edge DTI, fMRI and MRI is released.
The problems with Elon Musk’s plan to open-source the Twitter algorithm
I think both of these points can be alleviated with certain coding habits that come with practice. For instance, adding type annotations in some places will help with error messages. And using "assert false" (which has type 'a) will let you run an incomplete/broken program.

As for the error messages requiring expertise in type theory, it sounds as an exaggeration, esp. when not using advanced features.
and the elisp code you see around does not particularly follow a functional style either.

Arguably shell pipelines feel more functional.
I don’t think it’s what you described, but if you use Pulumi your infrastructure can actually be code. If you like types you can use Typescript, but it supports other languages too
Products are like creative works, they should be built with depth, deep dives and aim to be a fun experience and friend of the user.

Bottom up processes can create great products with polish and love, they are value creation processes.

Top down processes and deadlines create shallow features and products, they are value extraction processes.

Games for instance especially should focus on the fun and gameplay mechanic. Arbitrary timelines, milestones and push can kill both of those very important things.

This doesn't apply to just games though, products should be fun, bring joy and be almost a friend/companion of the user.

All that is lost when you move to today's finance/marketing/business led value extraction style over the creative/design/development approach of value creation.

Agile was supposed to give more time to the value creators, but instead it became a micromanagement tool of the value extractors and the depth has been made shallow. When you slow the "velocity" to add in some love/fun, you are now the problem not the solution, which is completely backwards.

The best value creation process is just an iterative/incremental cycle, with lots of power in the court of the value creators over the value extractors.
you mean that when a vendor offers a no-code tool, it's a way of locking them in?
You can hold natural uranium in your hand for a long time before it becomes a health concern. It's toxicity (heavy metal!) is more dangerous than its radioactivity. You shouldn't try the same with spent fuel or you will lose you arm quickly.
Great work! You should consider taking donations as an easy way to raise funds for development costs. In that way you’re not scope creeping adding SaaS subscription logic this early on.

Once the iPhone standardizes all day, always on screen, with 3rd party data displays, bike computers will become obsolete. For now, iOS Maps just needs to be better about displaying an upcoming navigation prompt and then shutting off the screen entirely until the next prompt.
That’s just what a default is. I think it was Fitbit? Fitbit got lame for me after. Every one’s feed was private even for basic info. It was unnecessary to make everything private by default for the average person except to combat all the blow back from the PR of that story and vocal people like many on here.

It’s not disssimilar to how Cambridge Analytica gave FB an excuse to clamp down on their API and put much more content even more in their control. The API for many things became useless after the clamp down. Not that a response wasn’t required.

However, in both situations, it was like throwing the baby out with the bath water
Telling us “you wouldn’t understand it” increasingly feels like an excuse.

Here’s a wild idea, maybe put some effort into building a window into the system that does make it understandable.

Have a strong feeling you at least have made tooling like that for your internal teams to understand what it’s doing.
Professor Moriarty, a couple of questions:

Is this switch because you've moved on to LISPs?

Doesn't startup time and lag of emacs (compared to vim) bother you?
Have you tried the eglot package for LSP instead of lsp-mode?

Can toggle it on with +eglot flag for lsp module in your doom config

I was having the same issues and that solved it for me
"adding type annotations in some places will help with error messages."

I annotated the hell out of my programs, and completely avoided OCaml's type inference as much as I could because I saw that it could not guess what I meant. I still had tons of problems understanding the error messages.

Error messages like "This expression is of type X but an expression was expected of type X" were not uncommon, and super frustrating.
It's been pointed out that Hydrogen fuel cell is less energy efficient in its current form. It's true and it'll probably needs a lot more research before it's viable and is competitive against battery powered cars.
Exactly. There is a huge difference between

>He wasn't interested in talking, either. He wanted to enjoy his retirement.

and

>He wasn't interested in talking, either but feels sorry for what happened.
My favourite dice are my "non euclidean" six siders, a must-have for playing Call of Cthulhu.

https://www.mathartfun.com/d6.html
The problem is that laws are being forced on people against their wishes, and that the electoral college which made this possible is a rarity among large developed countries. There just isn't a need or excuse for it in a mature country. The fact that we're a representative democracy doesn't justify the existence of the electoral college.

The U.S. is indeed a democracy, but it is not a direct democracy. It shouldn't be used as an excuse to wheel in a bunch of tyranny.
To be somewhat fair to the author, if the device's own setting app is slow and janky, you can't expect better from an application you download.

There are tablets out there, no name brands but also Lenovo branded ones, that are a complete waste of natural resources. I've had the displeasure of using a few of them in store demos and they couldn't even get video to play back at a consistent rate.

You're lucky to get an app working at all on that crapware, let alone at a smooth 60fps.

Strangely enough, I've had smoother experiences with some Chrome web apps on an old Android tablet than the native device UI is capable of providing. This thing was mid-range and outdated when I bought it years ago and it still runs Android 7 through LineageOS relatively well, but nobody is going to make that thing have a smooth experience. I'm hoping for the powervr video driver to be ported to postmarketOS so I can flash a lightweight Linux distro on there.

Sometimes, though, when the wind is just right and the stars align, Chrome is doing a smooth 60fps animation on that thing and I honestly can't figure out how they've manage to do it. It's impressive to see what modern web browsers are capable of squeezing out of slow hardware.

Total agree on all your other points. I don't think this stuff matters for this specific developer because of the nature of the application, but it's not great general advice.
The problem with deliverability issues is the impossibility of proving a negative.

If I send an e-mail to a company's customer support, or to my senator, or I reply to a potential client, or I contact an open source mailing list and I don't receive a reply - do I know if my message made it to them or not?

I mean, it's plausible that JohnDoe@senate.gov just didn't deign to reply to my e-mail. But it's equally plausible there's some subtle misconfiguration - like an e-mail forwarder that breaks the SPF signature. It's not like I can sign up for a senate.gov e-mail address to test with.

Meanwhile, to paraphrase an old joke, when your senator rejects your e-mails you have a problem. When your senator rejects @gmail.com they have a problem.
I think this may depend on what definition you're using, but generally people have multiple points while arguing their case, and it can make sense to drop weaker or more vulnerable points to strengthen the overall argument. Thus, the best possible form of an argument may involve ignoring or reconstructing certain points.

If someone says something vaguely racist while arguing against, say, multi-family housing, the best possible form of their argument would probably involve dropping that -- even if it's actually a significant motivation.
Now someone should steelman his position.
The Transport Map on OSM highlights bus lines, not important roads.
Agreed but doing this at compile time would require some sort of pointer lifetime tracking in the compiler. Don't know how much of this is feasable without going "full borrow checker", but static analyzers for C do a similar thing, by far not as watertight as Rust of course.

The General Purpose Allocator can optionally catch use-after-free by not recycling virtual memory addresses, not very efficient for small high-frequency allocations of course, but then Zig isn't an OOP language either (where it would be common to create and destroy massive amounts of tiny objects).
Of course we do. You still need to know how pointers work to use RAII effectively, though.
<< I've found myself taken aback when someone asked me a deep/attentive question about myself.

I guess it really depends on how 'deep' the question is. If it is the 'how are your kids/how was your weekend?', I typically play along, because people expect a performance art ( or at least did pre-covid ). I might even make something up if I feel frisky.

But I don't really recall an adult asking me deep/attentive questions during work hours ( sadly, it is not a joke; my in-office interactions were highly scripted ).

Still, you made me think about the 'deep/attentive' questions from others. A decade or so ago, co-worker brought his kids to work. One kid was brutal and his questions made me re-evaluate some of my basic assumptions about my work/life balance.

edit: Obviously, I have no idea how I would have reacted if an adult stranger asked me the same questions.
A booster with a parachute. Still hugely impressive but I first thought they would do something massively stupid.
Except some transactions didn't go through, so gas and your "money" just evaporated.
Has Flutter fixed its horrendous web application performance yet? Every time I go back and give it a shot I'm appaled at how laggy the web backend is.

The mobile backend isn't very power efficient either if I'm being honest, but at least the resulting experience is acceptable in terms of smoothness and responsiveness.