Community meeting on 30th May 2024

Name: jojomen
Topic: The Jolla Mind2
TIme needed: 15 minutes
Substitute: None, but I hope my questions are to the point

Please ignore any questions you plan to address in an in-depth article on the JM2 soon.

  • What is the idle power consumption? (More important than peak consumption for a device that’s on 24*7.)
  • Does it run a mainline kernel?
    • If not, for how long is the SoC supported by its manufacturer?
  • Which periferals use mainline drivers?
    • For those that do not, for how long are drivers supported by the manufacturer?
  • What parts of the JM2 require Android App Support?
    • Can they be removed?
  • How open is it?
    • E.g, can we install linux packages (given they exist for the arch), like the borg backup server?
  • Can it be used as a NAS/cloud storage in any capacity?
    • E.g. for syncing contacts and calendar data?
  • When using external AI services, what data is uploaded to those services?
  • What exactly does DID mean in the context of the JM2?
    • How are certificates handled (created, renewed, revoked, backed-up…)?
    • What VPN is used, is/will Wireguard be supported?
    • Will ssh use the DID in some way?
  • Is the device single-user or can it serve e.g. a family, each member having their own data?
    • Approximately how many simultaneous users will it cope with, processing-wise? (Storage may be less of an issue, as it can be expanded.)
    • Can users share data, like the deforestation corpus used in the demo?
  • Any plans to offload some of the compute to a desktop/laptop with an nvidia gpu? (on the same network as the mind2)
  • How will Jolla deal with ISPs that don’t offer public ip? By using a 3rd party like ZeroTierOne (puts privacy at risk), or by providing such a service?

Thank you for an interesting Jolla Love Day 2! The Jolla Mind2 sounds like an interesting device and you seem to have addressed many bad aspects of the current AI hype.

The shop page for the JM2 is a little light on details…
(edit to move me waffling to end of post, and to add (slightly shortened) questions from @throwaway69 )

4 Likes

Name: jojomen
Topic: Jolla Community Phone 2
TIme needed: 5 minutes
Substitute: None, but I hope my questions are to the point

  • How long will it last on a battery charge? (Say, compared to the XA2 or 10III.)
  • Does it run a mainline kernel?
    • If not, for how long is the SoC supported by its manufacturer?
  • Which periferals use mainline drivers?
    • For those that do not, for how long are drivers supported by the manufacturer?
5 Likes

Name: jojomen
Topic: Licence subscriptions
TIme needed: 5 minutes
Substitute: None, but I hope my question is to the point

  • What developer subscription options will there be?

The SFOS app ecosystem relies on individual efforts, with no feasible way to recuperate costs. Making sure an app works and looks ok means testing on many devices, which would make subscription costs high for the developer. As a result, developers will be incentivized to limit testing.

Related: [SOLVED] The new Jolla's 4.99eur/month Subscription model is too expensive for my budget - #42 by ilpianista

  • Will Jolla offer an option to pay for longer periods at a time?

There’s lots of discussion in the forum right now. I support Jolla’s decision to move to a subscription model and I hope it will provide you with a steady revenue stream. (I have in fact been “subscribing” to SFOS by hoarding licences.) In general, I think we need to accept that maintenance and development are ongoing activities (and ongoing costs).

However, my experience is that monthly recurring intra-EU payments don’t work well, for reasons unknown, and I instead rely on paying upfront for longer periods. I also see other community members voicing concerns over monthly payments, even if they support the subscription model as such.

(Edited to add question about developer options. And again to link a relevant post. And again to remove question already answered in Community News.)

3 Likes

Name: ilpianista

Topic: Some details on few topics I care

Details: Is there any plan to implement these features? If not, could you please opensource the components?

EDIT: using patchmanager to solve those isn’t a viable solution as I don’t want to mess with hacky workarounds.

Approximate time required: 5 minutes

5 Likes

Name: jojomen
Topic: Software licences
TIme needed: 5 minutes

Please elaborate a bit on the good news about the GPL v3 “not being a problem” (announced during Love Day) and the possibility to open source parts (like happened briefly in October last year)

(edit for clarity and incorporating note from @nephros )

6 Likes

Just to be precise: GPLv3 (specifically the “Anti-Tivoization Clause”) is what was seen a problem for the Jolla Business. (Because this clause was designed to be precisely that.)

1 Like

I’d add to that:
Are there any plans to allow offloading some of the compute to a desktop/laptop with an nvidia gpu? (sitting on the same home wlan as the mind2)
How is jolla planning to deal with ISPs that don’t offer public ip? Wireguard wouldn’t work afaik as it needs a public IP, only something like ZeroTierOne but that requires a third party and puts the privacy at risk, or is Jolla going to provide such service?
(pls just add it to the bucket of questions, the meetings are always during worktime for me, so won’t be able to attend)

1 Like
  • Name/IRC nick: Matti Viljanen (direc85)
  • Topic: Catching Ctrl-Enter in QML
  • Some details about the topic: Many desktop chat applications can be configured so that while typing a message, Enter on the keyboard makes a new line and Ctrl-Enter or Shift-Enter sends the message. Using a Bluetooth or USB keyboard with Sailfish OS, it doesn’t seem to be possible to catch the modifier keys in QML TextArea item to replicate the behaviour. Is it possible to catch the modifiers, and if so, how could it be done? If not, would it be possible to have this feature in a future release?
  • Approx. time needed: 10 minutes
  • Substitute (optional): None needed, this is a quite simple question.

PS. Yes, the context is Whisperfish here, but this should apply to Messages and other messaging applications too - if they choose to implement it. There are plenty of other keyboard-navigation ideas I have, but let’s start with this first.

  • Name/IRC nick: Matti Viljanen (direc85)
  • Topic: Delete email action for events view
  • Some details about the topic: As I receive quite a lot of update notifications via email, and just reading the title is enough, it would be handy if there was a third action for the email in events view - deleting the email. I’m sure others users too would find good use of the feature. Some applications already provide more than two actions, for example WhatsApp messages offer three actions, so that shouldn’t be an issue. Could this feature be added to to Email in a future release?
  • Approx. time needed: 10 minutes
  • Substitute (optional): None
9 Likes
  • Name/IRC nick: Ruben - rubdos - De Smet
  • Topic: Ruby dropped from repos
  • Some details about the topic: The changelog of 4.6.0.11 mentioned the removal of Ruby from the SailfishOS repositories. I’m probably the only one using it (the university restaurant menu gets pushed to my Pebble over DBUS with that script), but I’d love to know the reasoning behind this.
  • Approx. time needed: 2 min
  • Substitute (optional): n.a.

N.b., if it’s indeed dropped indefinitely, I’ll just ChatGPT/copilot-rewrite my script to Python.

1 Like
  • Name/IRC nick: PeegeeTips
  • Topic: SailfishOS licence for 10iv and 10v - separate devices/licences, or considered as one?
  • Some details about the topic: an XA2 licence technically covered six sub-variants: XA2 (single/dual), XA2 Ultra (single/dual), XA2 Plus (single/dual). Given that the 10iv has been included after then end of sales life of its successor the 10v (and thus limited availability), and has been included mainly because it has near identical hardware to its successor (and thus low support cost), would it be reasonable to expect Jolla to sell a licence product that works with either device? i.e. there is a 10ii licence, there is a 10iii licence, and there is a 10iv/v licence. Justification - both devices are becoming harder to find, having a joint licence simply provides ease of mind that you can get a licence safe in the knowledge that it will work on whatever handset you can find that is still available to buy.
  • Approx. time needed: 2m
  • Substitute (optional): not available to attend - apologies

This came a bit too late but we’ll cover this one with a separate answer to your question.

2 Likes

Minutes: #sailfishos-meeting: Sailfish OS, open source, collaboration -- 30th May 2024
Minutes (text): https://irclogs.sailfishos.org/meetings/sailfishos-meeting/2024/sailfishos-meeting.2024-05-30-07.00.txt
Log: #sailfishos-meeting log

4 Likes

Ran into that problem with my pevious ISP. Configured a TOR hidden service for ssh on my home PC and TOR on my Jolla as a SOCKS-proxy. With a small configuration for ssh that setup allowed to log in via ssh and forward ports. I never attempted tunnelling though. Here is the relevant part of ~/.ssh/config:

Host hostname
    hostname hidden-service-host.onion
    User username-on-home-pc
    proxyCommand socat - SOCKS4A:127.0.0.1:%h:%p,socksport=9050
1 Like

Jolla Mind discord server

Looool, dropped
Seriously, proprietary, closed source, banning users of reverse engineered clients etcetc, irc too old for new investors?

2 Likes

you don’t need copilot. I’ll happily translate it into:
scheme (guile is around if you install @tomin 's patience deck).
awk/sed/sh (and obviously curl)
or python. though, python is the only language copilot is good at, so maybe I should avoid going there :slight_smile:

python team is also the only one to get fired from google

2 Likes

Well, no, but it’s so awfully stupidly simple that GPT3.5 will probably get it correct from the first try.

Now that’s an interesting one. You’ll need Dbus, Json and some time processing, but I suppose there are Guile libs that do that? Scheme does have a special place in my heart :slight_smile:

Here’s the script for reference:

#!/usr/bin/env ruby

require 'bundler/setup'

require "rubygems"
require "net/http"
require "pp"
require "time"
require "cgi"
require "dbus"

require "json"

VUB_RESTO_URL = URI("https://vub-resto.opencloudedge.be/v1/etterbeek.nl.json")

TUSSENFIX = "\n"

EMOJI = {
  "Soup" => "🥣",
  "Soep" => "🥣",
  "Menu 1" => "🍲",
  "Menu 2" => "🍳",
  "Veggie" => "🥗",
  "Fish" => "🐟",
  "Vis" => "🐟",
  "Pasta" => "🍝",
  "Wok" => "🥢",
}
EMOJI.default = "🥙"

def get_JSON()
  res = nil
  uri = URI(VUB_RESTO_URL)

  Net::HTTP.start(uri.host, uri.port,
                  :use_ssl => uri.scheme == "https") do |http|
    request = Net::HTTP::Get.new uri.request_uri

    res = http.request request
    return res.body
  end
end

def postit(data, location)
  parsed_data = JSON.parse(data)

  rockwork_svc = DBus.session_bus["org.rockwork"]
  mgr = rockwork_svc["/org/rockwork/Manager"]
  mgr = mgr["org.rockwork.Manager"]

  pebbles = mgr.ListWatches()
  pebbles.map! { |pebble_name|
    pebble = rockwork_svc[pebble_name]
    pebble["org.rockwork.Pebble"]
  }

  parsed_data.each do |node|
    today = Date.strptime(node["date"], "%Y-%m-%d")
    noon = DateTime.new(today.year, today.month, today.day, 12, 0, 0, Time.now.getlocal.zone)

    lines = []
    headings = []
    paragraphs = []

    items = node["menus"]
    until items.empty?
      dish = items.shift

      headings.push(dish["name"])
      paragraphs.push(dish["dish"])
      line = "#{EMOJI[dish["name"]]} #{dish["name"]}: #{dish["dish"]}"
      lines.push(line)
    end

    pin = {
      id: "vub-resto-" + node["date"],
      time: noon.iso8601,
      duration: 60, # 1h
      layout: {
        type: "genericPin",
        title: "Resto menu",
        body: lines.join(TUSSENFIX),
        lastUpdated: DateTime.now.iso8601,
        tinyIcon: "system://images/DINNER_RESERVATION",
        headings: headings,
        paragraphs: paragraphs,
      }
    }
    puts pin
    puts JSON.generate(pin)
    pebbles.each do |pebble|
      pebble.insertTimelinePin(JSON.generate(pin))
    end
  end
end

if ENV["VUBFOOD_LOCATION"].nil?
  warn "location not set, assume etterbeek"
  location = :etterbeek
elsif ENV["VUBFOOD_LOCATION"].downcase == "etterbeek"
  location = :etterbeek
elsif ENV["VUBFOOD_LOCATION"].downcase == "jette"
  location = :jette
end

postit(get_JSON(), location)

It may or may not be an immediate adaption of the Ruby script that I used for posting this to Matrix, which may or may not be an immediate translation of the Ruby script that people used to post this to IRC :smiley:

1 Like

Ah, I just checked on the phone:
curl https://vub-resto.opencloudedge.be/v1/etterbeek.nl.json | jq ‘.[] | select(.date == “2024-05-31”)’ | grep dish is pretty speedy. I’ve forgotten how to use map in jq, but I’d do this with jq. not sure if that’s more or less efficient since jq is a language itself.

Yeh, I don’t think it’d be that difficult to throw it together in bash with jq, but then again I’d have to have jq around :smiley:
Most of the things you’d need here are by default on SF in Python afaik.