@loke@functional.cafe avatar

loke

@loke@functional.cafe

Lisp, Emacs, APL and a bunch of other stuff.

From Sweden, living in Singapore.

I always work on a bunch of projects. My current major ones are:

A graphical frontend to Maxima: https://github.com/lokedhs/maxima-client

Kap: An APL-based programming language: https://codeberg.org/loke/array

#lisp #commonlisp #apl #retrocomputing #linux #kap #climaxima #emacs #atari #fedi22

This profile is from a federated server and may be incomplete. Browse more on the original instance.

Edent, (edited ) to random
@Edent@mastodon.social avatar

You receive a call on your phone.
The caller says they're from your bank and they're calling about a suspected fraud.

"Oh yeah," you think. Obvious scam, right?

The caller says "I'll send you an in-app notification to prove I'm calling from your bank."

Your phone buzzes. You tap the notification This is what you see.

Still think it is a scam?
1/3

loke,
@loke@functional.cafe avatar

@MadMike77 @glitzersachen @CaptainJanegay @Extelec @Edent Same. I'm always very careful to properly call back for verification, but in this case the validation via the application makes it seem legit, even though it isn't after thinking about it.

If I was in a hurry, I can almost guarantee I'd fall for it too, so this post was a very useful reminder.

samplereality, to random
@samplereality@post.lurk.org avatar

Twice in the past week I've read scholars who should know better repeat the urban legend that the QWERTY keyboard was designed to slow down typing, and thus, jamming, on early typewriters.

That'd be cool if it were true, but it's not, and the the truth is even cooler. The QWERTY keyboard evolved over time, shaped by two forces: (1) since the early machines were used by telegraph operators, the keys were arranged to avoid common transcription errors; and (2) competing patents of the typewriter slightly arranged the keyboard layout in order to qualify as new (and therefore patentable) designs.

Check out this research for more: https://repository.kulib.kyoto-u.ac.jp/dspace/bitstream/2433/139379/1/42_161.pdf

loke,
@loke@functional.cafe avatar

@samplereality But I refuse to believe that it's a coincidence that the letters for the word TYPEWRITER are all on the top row.

The legend says it was made that way to make demos of the technology more impressive, sice they could write that word very quickly.

jon, to random
@jon@vivaldi.net avatar

Question : Do you know how Norwegians fill out their tax returns?
Answer : They don´t.

This is an oversimplification, but years ago Norwegians started to get pre-filled tax returns in the mail. Later they stopped getting them, but instead had to do an OK online. Now even that is not needed. No comment means it is is OK. You can rectify and modify details online, if needed.

The reality is that the government already had most of the data needed for most individuals. Your salary is reported by the company you work for. Your bank details, including anything you have in your accounts, any loans, stocks, bonds, etc., is reported as well. Your kids are known as well. There might be details to add, but most is known. Why waste people´s time filling out details that are already known and risk people making mistakes?

When will the US get there?

loke,
@loke@functional.cafe avatar

@jon Same here in Singapore. And if you want to make an amendment (like an extra deduction), you can log in to a webpage and fill it in.

I just checked with an Indian colleague, and it was explained to me that they do it the same way. The employer send the information to the tax authority and everything is handled automatically. India also has different states, and they manage to do it where the US fails.

loke, to random
@loke@functional.cafe avatar

So twitter decided to send a threatening letter to an organisation who were researching hate speech on twitter.

They fired back with a beautiful letter on their own.

I'm sure twitter isn't going through with their threat, but I kinda hope they will. The discovery will be gorgeous. https://counterhate.com/wp-content/uploads/2023/07/Letter-to-A.-Spiro-from-R.-Kaplan-re-CCDH.pdf

loke, to random
@loke@functional.cafe avatar

This is amazing. The "crypto industry" is already so ridiculous that the people who are in cannot tell if they're being trolled.

https://youtu.be/xmVt8lC74ns

loke, to random
@loke@functional.cafe avatar

Don't worry door, thereis nothing dangerous here.

loke, to random
@loke@functional.cafe avatar

This is what AI content spam looks like

So I have an Expressvpn connection that I use if I need to access something from a different country. Practically I have a VLAN set up with it on the router side so any client that needs it can just use that VLAN.

OK, so I replaced by router and wanted to know if someone already set up Expressvpn with aMikrotik router. So I did what one always does and searched for "mikrotik expressvpn" on DDG and Google.

Only this time the first hit is this one:

How to Set Up and Use ExpressVPN on MikroTik (2023 Guide)

And the second one is this:

How to Set Up and Use ExpressVPN on MikroTik [Updated June 2023]

And the third:

How to Set Up and Use ExpressVPN on MikroTik (2023)

Notice anything similar? Not only are these the same article. It's also complete nonsense. The words form sentences, and they kinda relate to actual menus in the Mikrotik configuration, and the PPP meny does indeed contain the VPN configuration. However, this is not at all how you set up an outbound VPN connection, and definitely not how Expressvpn is configured.

In actuality, Expressvpn doesn't actually work with mikrotik due to limitations in its openvpn support.

This is just the beginning, and while blogspam used to at least contain some grains of actual information, perhaps enough to know what to actually search for, this type of hyperoptimised blogspam is where you can really do a good business with AI language models. It will also make search absolutely useless to non-experts. Kinda like how search was back in the 90's.

loke, to random
@loke@functional.cafe avatar

Argh. Someone posted a screenshot of a really interesting comment, but the screenshot was black with white text. Because I really wanted to read it, I did but now I have flashing artefacts in front of my eyes, even though some time has passed.

I know this is like trying to stop a waterfall with a spoon, but if you want to make things easier for people with non-perfect vision, please consider posting text with white background.

I wish there was a way to show people with fully functioning eyes what people like (with strong astigmatism and old eyes) actually see. That may change their minds.

loke, to random
@loke@functional.cafe avatar

I saw someone here have a take about #xz where they argued that this was a failure of using distribution artefacts, and if they had just used the repository upstream all would have been fine.

Dude, the guy had commit acces to the repository and was on their way to be the main maintainer. Eventually all the bad stuff would have been in the master branch.

What is the solution? Unlike others I don't claim to have it. Although more prevalent use of isolation would serve to lower the impact of any actual breach.

Qubes OS makes the assumption that everything is already compromised, which is the right approach, but Qubes OS takes too much discipline to use for anyone who isn't technical.

loke, (edited ) to random
@loke@functional.cafe avatar

I have close to 20k toots which I have never deleted.

I see no point in keeping them, for the most part.

Should I:

loke, to random
@loke@functional.cafe avatar

@clacke @tindall I have for a long time been of the opinion that the number of people that understands technology is constant. Back in the 80's the people who understood technology and the people who used technology was roughly the same set. This led to a misbelief that using technology made you understand it.

Turns out that the cause and effect were reversed, and just like how you don't have to be a mechanic to drive a car these days, you don't have to understand technology to use it.

The notion that kids who grew up with a smartphone in their hand would understand technology like a child learns their mother's tongue is a huge, and frankly dangerous, lie that keeps being told even today. The term "digital native" is annoying me.

Just like the people who know how to design cars put things like seatbelts, crash protection, engine temperature warnings, etc into the cars to make them safe to use for people who are not mechanics, it's the duty of tech people to make the products they make safe for the users.

The tech industry is full of drug dealers only interested in peddling their dangerous wares rather than engineers that design safe products for the public's use.

loke, to random
@loke@functional.cafe avatar

I've seen people talk about adblocker-blockers, but I haven't actually seen one before.

Well, a single click on "reader mode" in Firefox fixed that.

loke, to random
@loke@functional.cafe avatar

It's great to see people who weren't born during the 8-bit era pay attention to these systems, and even repairing them.

https://www.youtube.com/watch?v=7kkzIV5yTPQ

loke, to random
@loke@functional.cafe avatar

Request for Libreoffice information

This is a question that I suppose is not overly common: I'm trying to use the Java API to integrate with a running Libreoffice instance.

(the context is that I want to have a realtime link between arrays in Kap and a Libreoffice spreadsheet.

I've gotten to the point where I can access data from the spreadsheet, which is cool in its own right, but I clearly have some gaps in my understanding.

My question, in the hope that someone is familiar with this stuff:

How can I find the dimensions of an entire sheet? That is: the coordinate of the cell in the bottom-right corner of a sheet?

The purpose of this is to provide a function to read an entire sheet into a Kap variable, preferably keeping it in sync with the spreadsheet as changes are made on either side.

Boosts and mentions of people who may be able (and willing) to help out would be appreciated

ColinTheMathmo, (edited ) to random
@ColinTheMathmo@mathstodon.xyz avatar

There's an interesting question by over on the site formerly known as (and to be honest, still known as) Twitter:

Right, in need of some

Can you provide us with the most unnecessary fact you've learned recently? Let us absorb your knowledge ...

So ...

Anything?

(Edit: Boosts for reach very welcome. I'm sure there are many people out there who have recently learned apparently useless or unnecessary things)

loke,
@loke@functional.cafe avatar

@virtuosew @ColinTheMathmo Lord Byron, better known as the father of Ada Lovelace, in case there are any computer nerds in the room.

loke, to random
@loke@functional.cafe avatar

I have some broken CSS. I changed the CSS used in the language documentation, and it looks OK with one exception: There is a horizontal scrollbar, and when I move it, it doesn't look good anymore.

Here's a link. The problem should be pretty obvious:

https://kapdemo.dhsdevelopments.com/tutorial.html

I kinda suck at CSS, so I can't fix this. Is there some simple change that can be done to stop the horizontal scrollbar from appearing? (perhaps the method I used to put the menu on the left is wrong?)

loke, to random
@loke@functional.cafe avatar

Oh my lord. Gruber is really doubling down on his defence of Facebook using the argument of "how dare you tell me I have to stop robbing banks? How else can I preserve these profits?". Along with a sprinkle of not understanding that the DMS only applies to large dominant companies.

Did anyone write a good rebuttal to this yet? I need something to clean the bad taste from my mouth.

loke,
@loke@functional.cafe avatar

@anildash @jimray @tantramar @ianbetteridge @tfb this post got longer than I expected. I am sorry about that.

He did wrote a post in reply now. His main point appears to be that giving a user the choice is sufficient.

What of Facebook released a paid version of their application on the store and said you have to use that one for no tracking and made it mandatory on the free version? Would Apple remove the need for the tracking permission screen? Would that be considered OK for Apple users? I doubt that.

The most interesting thing is that that's exactly in line with what the EU is saying. It's just that the EU doesn't consider pay or consent as being an actual user choice.

Is paying 1 million Euro a valid user choice? I don't think he'd agree with that. What about 10000? 100? 10? Where is the line between valid user consent and a forced one?

And to people who can afford, there is the extra hassle of going through the payment process. Facebook could put the amount at literally 0 Euro (but still have the payment process) and people would still not do it, because it's easier to click yes to make the dialog box go away. It's not about the money, but introducing enough friction to get them to do what they want.

The way I think about it (and I think my understanding of the law is correct) is that tracking is illegal (no matter how much money the poor company can make from it) unless the user has explicitly said it's OK, and the decision can't be forced. In that light, it should be obvious that the payment option can't be acceptable.

loke, to infosec
@loke@functional.cafe avatar

I just booked my ticket for Black Hat Asia next week.

Anyone around here that are going?

#infosec #blackhat #blackhat24

loke, to random
@loke@functional.cafe avatar

Someone here mentioned the existence of the "reduce animations" setting on Android and I decided to try it.

After having used it for a week or two my conclusion is that oh wow, I had no idea just how exhausting all these fancy animations actually are. Not having everything zoom, swoosh and fly around and just place themselves in their expected locations feels so much less stressful.

I wonder if there are any papers written on the mental effects of excessive animations.

And I do agree that those animations are neat, and as an old demo programmer, I love their design, but they really are giving me a kind of mental fatigue.

loke, to random
@loke@functional.cafe avatar

I've started working on a way to visualise how array operations work in Kap:

https://vid.puffyan.us/watch?v=08wta4LZbjw

Or, if invidious doesn't work, this is the youtube link:

https://www.youtube.com/watch?v=08wta4LZbjw

loke, to random
@loke@functional.cafe avatar

Hacker News is doing its thing. They were taking about my blog post, and the commentary is exactly what you'd expect.

https://news.ycombinator.com/item?id=39608822

Very few people commenting on the actual content of the post itself.

loke, to random
@loke@functional.cafe avatar

While working on the function graph support in my language, I just randomly did a plot of cos(x) and sqrt(x) at the same time, and noted that they cross at about x=0.641.

My question to all the #maths people out there: Is there an analytic solution to this?

loke, to random
@loke@functional.cafe avatar

If you create a survey about programming language usage, and your only choices for language includes Python, JS, Java C++ and Rust, you're probably not found to get very useful answers.

(Not a reaction to a specific survey, but I've seen things like this remarkably often)

dragfyre, (edited ) to python
@dragfyre@mastodon.sandwich.net avatar

Alright #python and #CS heads, here's a little puzzle for you to ponder.

I tried implementing the square root estimation algorithm from #SICP Lecture 1A in Python just for fun (my Lisp skills are weak).

Code: https://cryptpad.fr/code/#/2/code/view/W2yHJixW0qyk1BnUcxIwGtxAKszQ54qPngLI9ztwfx8/ (also, see image.)

Notably, I made the precision variable so that I could see how precise a value I could get. I tried it at lower precision at first and it worked, so I bumped it up. Seemed to work fine, until I got past 16 significant digits... (1/3)

loke, (edited )
@loke@functional.cafe avatar

@dragfyre There is nothing wrong with your algorithm. It gives the correct result within the precision of the number representation you're using.

In your case, you're hitting the limits of 64-bit floating point, and the reason you are getting different results is because the implementation of sqrt that Python uses (which appears to be the default libc implementation) is more accurate than yours for some specific inputs.

I took the libery to do an almost 1-to-1 port of your code to Kap, which allows you to try the same thing using rational arithmetic. When you do so, you get a value that is as precise as you tolerance value:

Click "send" to run the code.

Kap version of the code which supports both types of numbers

I also took your code and tested it on a 100 different values (0 to 5 with a step length of 0.05, and it gives you several other values for which your algorithm gives an imprecise value with floating point arithmetic:

code that computes imprecise guesses

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • everett
  • magazineikmin
  • mdbf
  • thenastyranch
  • khanakhh
  • rosin
  • Youngstown
  • ethstaker
  • slotface
  • modclub
  • kavyap
  • DreamBathrooms
  • Durango
  • provamag3
  • ngwrru68w68
  • InstantRegret
  • tacticalgear
  • GTA5RPClips
  • cubers
  • normalnudes
  • osvaldo12
  • tester
  • anitta
  • cisconetworking
  • megavids
  • Leos
  • lostlight
  • All magazines