• πŸ”— Codeberg.org

    Codeberg is founded as a Non-Profit Organization, with the objective to give the Open-Source code that is running our world a safe and friendly home, and to ensure that free code remains free and secure forever.
    I haven't used Codeberg (a GitHub alternative), but their copy on front page strikes me.
    No tracking. Your data is not for sale.
    All services run on servers under our control. No dependencies on external services. No third party cookies, no tracking.
    Hosted in the EU, we welcome the world.
    
    Using external services for every last thing, you end up with your data being spread out amongst multiple (unknown to you) vendors, each with different security-implications / privacy policies / regulations all across the world. It makes your service more brittle (increased points of failure) and less secure (increased attack vectors). Seeing a service make this central to their product is refreshing.
    Focusing on privacy and hosting in non-US owned/operated datacenters in the EU will be a competitive advantage when going up against the US tech companies in the future, if it isn't already.
    1. Tagged with
    2. computing
    3. privacy
    4. programming
  • πŸ”— jaredks/rumps

    Ridiculously Uncomplicated macOS Python Statusbar apps - jaredks/rumps
    I've been thinking about couple ideas for status bar apps that could help me at work. One of the largest barriers for me to actually build them is re-learning Objective-C (I can't believe ImageXY was almost a decade ago ) or learning Swift. Letting me write apps in Python should allow me to quickly prototype some apps and see if my ideas are actually any good.
    1. Tagged with
    2. macos
    3. python
    4. programming
  • πŸ”— SpaceHey.com

    SpaceHey.com β€” a space for friends. It's a place to have fun, meet friends, and be creative!
    This is a brilliant remake of MySpace. I love how simple the design and how fast it loads. 34kb of Javascript sent over the wire and 33 of that is jQuery. Total page size including images, 350kb. It's the stuff of dreams these days.
    Back in the MySpace hey-day I liked Facebook more than MySpace for its clean and consistent design. But looking back with 20/20 hindsight I can't help but think I was remiss. MySpace was quite a special site in a special period of the web. People that maybe wouldn't ordinarily care about html or css were learning how to code them so they could customize their sites. Anything was possible.
    A lot of whimsy has been removed from the web as people locking themselves into the big social networks. Maybe a site like MySpace/micro.blog is a happy medium between the wild-west/running your own server and total platform lock in.
    1. Tagged with
    2. nostalgia
    3. computing
    4. social media
  • What if you made a service where each customer's data was kept in their own sqlite.db? GDRP compliance would be as simple as "rm hoge.sqlite", no mixing customer data, data exports easy peasy...

  • When it comes to tech or business, what are you most thankful for?

    It is American Thanksgiving (well, in America, it's the next day here in Japan) and Justin asked a good question in the Mega Maker Slack today and I wanted to share my answer publicly.


    When it comes to tech or business, what are you most thankful for?

    My answer:

    Open source. Not just because there’s a bunch of high quality tools available for free (gratis), but that it shows that humans, no matter where they’re from or what they believe can work together for the greater good.

    When I was first getting into programming windows ruled and the idea of being able to work using open source all day every day was still a bit for dreamers. Grateful that’s no longer the case.

  • My first fun query using healthkit-to-sqlite and datasette: average duration of hand washing each day. Query is on my Healthkit queries page.



  • Lazy Load Images Without Javascript

    Sustainability of websites is mostly determined by how much electricity the website consumes. All websites consume electricity 24/7. There's a server powered up, listening for requests. They consume it by proxy transferring bits to the client and they consume it on the visitor's computer by rendering the content.

    You can't do much about electricity consumption of a server being online 24/7 beyond simplifying your hosting infrastructure (you don't need a load balancer). What's easier to control is the the number of bits you send to clients who visit your website.

    Images are a large source of unnecessary bits. We shouldn't be uploading raw uncompressed 40MB images designed for a poster to display on a smart phone. They'll load slow, chew through our visitor's data plan, and consume unnecessary electricity to transfer and render such a large image. You should resize your images for the web.

    Traditionally images are input into a website with a simple image tag like below:

    <img src="https://jamesvandyne.com/wp-content/uploads/2020/10/voted.png" alt="Ballot approved" border="0" width="600" >

    You tell the browser where the image is, give it some alt text for cases where the image doesn't display / accessibility purposes, and maybe even set a size. Once your browser encounters this tag it will dutifully download and display the image. Life is good.

    But what if that image is halfway down the page and completely off screen? Doesn't matter - still downloaded.
    It doesn't matter that they may not scroll down far enough to see the image, it's in your markup the browser downloads it. This is a waste of electricity and bandwidth.

    There are methods using Javascript to dynamically change the src attributes of your image tags when the user scrolls near, but then your simple image tag now requires Javascript and client side computation just to display. It's not an elegant solution.

    Turns out there's a better way without Javascript using the loading attribute on your images. Support is in all major browsers since mid 2019 / early 2020. It works out of the box on Firefox/Chrome, but it must must be enabled in Safari under the Advanced > Experimental Features settings for now.

    Graph displaying caniuse data for the loading attribute

    By simply adding loading="lazy" to our image tags the browser will lazy load our images, i.e. it won't download the image until is nearly in view.

    So by modifying the example above to

    <img src="https://jamesvandyne.com/wp-content/uploads/2020/10/voted.png" alt="Ballot approved" border="0" width="600" loading="lazy">

    we can reduce the number of data transfers, reduce total transfer size (unless they scroll the image into view), reduce electricity consumption across the board, and improve page load times. It's a win-win-win.



  • Thinking about Thinkpad

    I recently mused about how my next computer should be a Thinkpad running Debian. I still half-think that, but I feel conflict on the issue. Let me explain.

    My first Mac was an iBook G3 running OS X 10.1 in 2002 and I've been on Apple computers exclusively since. I came from running desktop Linux (Gentoo at the time) and a major reason why I switched to OS X was the unix environment without the fiddling.

    Over the years I starting developing native apps and valuing apps that take the time and effort to be consistent with the systems. The consistently between apps made the entire system feel cohesive and easy to use. "Mac Apps Behave / Are Designed Like This". I was hooked. I am hooked.

    But the world has changed since those days. We're now connected to the net with fiber rather than dialing in for a ~couple~ all hours of the night. Web browsers have become the new platform to target and Every app is cross platform and nothing is native.

    Hardware is a growing concern for me as well. Apple makes some of the best laptops. I look forward to the Apple Silicon Macs. But repairing your Mac often means replacing the entire unit and paying more than purchasing a new one. They're no longer upgradable and filled with glue.

    Contrasting with Thinkpads you can upgrade the ram, swap out the hard drive, add in LTE modems, and even change the display. If something breaks you can replace just that part. Expandability should allow the machine to have a longer life. I can even get them fully supported with Ubuntu or Fedora Linux.

    If the software I use on a regular basis no longer native, not designed for the Mac, and everything is inconsistent, what's the advantage of using them on the Mac?

  • πŸ”— The Map

    Gary Hustwit (of Helvetica, Objectified, and Rams fame) has made a short (10 minute) film about designing the MTA's new live map for the New York subway system called The Map.
    I love how it discloses more detail as you zoom and the little moving train icons.
    1. Tagged with
    2. video
    3. design
    4. map
  • Response to Whose computer is it?

    Some Apple apps bypass some network extensions and VPN Apps. Maps for example can directly access the internet bypassing any NEFilterDataProvider or NEAppProxyProviders you have running

    I understand why Apple would want its apps to access the internet unencumbered by potential nefarious network filters installed on a system, but at the same time it's my computer. And that decision should me left up to me. More and more I think my next computer should be Thinkpad running Debian.

Previous 7 of 10 Next