I wonder why so few developers consider the scenario you describe. Git fits the development of Linux. But, a question rarely raised: why is Git considered suitable for small or medium projects?
12,450 karma · joined September 15, 2015
I wonder why so few developers consider the scenario you describe. Git fits the development of Linux. But, a question rarely raised: why is Git considered suitable for small or medium projects?
Perhaps the author is referring to the rise consumer-facing SaaS (Software as a Service).
The course was created with help from the UX agency Clearleft. Here's a post on their work on the course:
"When the web.dev team at Google contacted Clearleft about writing a course on responsive design, our eyes lit up."
https://clearleft.com/posts/partnering-with-google-on-web-de...
Alternatives to typing
I'm really intrigued by the one-hand typing device shown at the 8 min mark in the video. I'm impressed the inventor of the Microwriter wrote an entire book in the one-hand typing device. The narrator say it took him about 30 minutes to achieve competence in using the device.
Word processors (WP)
By the early 1990s (maybe earlier), GUI word processors were widespread, but the word processor does not seem to have changed much since then. The past 15+ years has been about implementing word processors in the browser (with fewer feaures than the more powerful 30+ older desktop word processors). Progress? Or re-inventing the WP again in the browser?
"I think there is going to be all this automation, people are going to be out of work."
"People will be regarded more as statistics and as actual people."
"They're not going to have so many square houses, more curves and artistic designs instead of boxes like they've got nowadays."
"People wouldn't be able to live in ordinary houses because it would take up too much room. It'd have to be in flats piled on top of one another and the houses would be rather small and everything would be very cramped."
"Sheep and cows and livestock - they'll be kept in batteries. They won't be allowed to graze on pasture, they'll be kept in buildings, all together, all in one big building and artificially reared so they'll yield a larger, be bigger."
Some of the predictions reflect preoccupations of the time like atomic bombs and overpopulation. It's interesting that most (not all) predictions err more on a pessimistic outlook.
In the 1980s the children's publisher Usborne published computing books for young readers and a few years ago they made the books available for free download. The books use illustrations extensively to explain concepts. Not only are these books well written with clear, concise explanations, they are also more readable and enjoyable than many programming and computing books published for adults today.
Anyone writing a technical guide (of any kind) would benefit from reading these as a source of ideas and inspiration:
The following link (a twitter thread) was posted on HN some time ago and covers the same territory i.e landing page tips. I think the twitter thread is a bit better. The tips are simple and direct, and include before-and-after examples:
"I've rewritten 300+ websites for startups from pre-seed to unicorn. Here are my top learnings"
https://twitter.com/maiale/status/1419687196311752704 or https://nitter.net/maiale/status/1419687196311752704
A general rule of thumb when deciding whether to purchase an e-book: If the physical book is larger than a small paperback size, then it is unlikely to be suitable for an e-ink screen (unless the book is text-only).
Small e-ink readers are not suitable for any books with complex layouts, layouts designed for larger books, or books with colour graphics: charts, diagrams, photos, etc. Amazon, in particular, encourage publishers to convert as many books as possible to Kindle format regardless of whether those books are suitable for e-ink screens.
Lotus tried to re-think spreadsheets with a product called Improv - it was full of good ideas but the product never took off. The product launched on NeXTSTEP in 1991 and then on Windows in 1993.
Here's a 1990 sales video (low-resolution) from Lotus explaining how it works, and how it differs from traditional spreadsheets: https://www.youtube.com/watch?v=rgGmKD87U3M
I also recommend the Affinity apps and hope Affinity continue with the perpetual licence model.
In contrast, the SaaS subscription model is a juggernaut that shows no sign of slowing down and is eating the old desktop app model. For example, Sketch is a popular desktop app for creating UI designs and used to offer a perpetual licence. But Sketch faces competition from Figma (and lesser from Adobe XD), and Sketch are now wholly a subscription service.
The source code is published on GitHub so anyone can see it. Presumably the product creators trust customers will pay for the product (if some do not, it probably doesn't matter to profitability). Another profitable PHP product called 'Kirby CMS' also follows this model.
The idea of 'source only' is not new at all. Back in the late 90s when Delphi was popular, many developers created and sold components to other developers (e.g. UI widgets). These components came with full source code of the components but they were not open source.
The label 'source only' is considered a dirty word among some open source advocates. But if you are building a B2B (Business-to-Business) software product, 'source only' is a viable option to successfully make a living from your product - one that isn't completely closed source.
(As an aside, here's the Craft CMS licence: https://github.com/craftcms/cms/blob/develop/LICENSE.md)
I agree. I've often wondered: why can't web server apps be installed with the same ease-of-use as desktop apps? Simply click through simple screens and installation is complete. All desktop users know how to install desktop apps. Unfortunately, Sandstorm and Cloudron - trying to provide easy app installs - are not widely supported by hosting providers.
That's a very fair point. It was unfair of me to lump Sandstorm and Cloudron togther. Sandstorm and Cloudron setup is carried out by the hosting provider. The trouble is that not many Sandstroms hosts exist, as you acknowledge.
Sandstorm's aim is very commendable and thank you for tackling this important problem of deployment and web app installation.
This is a quote from Jeff Atwood (founder of Stackflow) about PHP (he's not a fan):
Despite the serious problems with PHP, I was forced to consider it. If you want to produce free-as-in-whatever code that runs on virtually every server in the world with zero friction or configuration hassles, PHP is damn near your only option. [1]
When did Atwood say this? 2012.
A decade has passed and hardly anything has changed. Server installation remains needlessly complicated. Current solutions like Docker, Sandstorm, Cloudron, command line scripts etc. are "easy" for developers but not for ordinary users. What is easy for ordinary users? Installing a web app by uploading files to a folder on a server using a GUI FTP app is one example for PHP. (And for some non-technical users, even that might be too complicated).
I also find the 10 tips for clear writing at the following link very helpful - it overlaps with some of the advice in the post above - and includes some additional suggestions:
https://gds.blog.gov.uk/2019/08/27/podcast-on-writing/
You don't need to listen to the podcast at the top of the page above (unless you want to). Instead, scroll down the page and you'll find a short description of each of the following tips.
1. Establish ‘The Point’
2. Write it like you’d say it
3. Don’t try to sound clever
4. Show the thing
5. Know that you are not your writing
6. Share your work
7. Read (poetry in particular)
8. Never start with a blank page
9. Know when enough is enough
10. Stay human
1. Stop breathing through your mouth
2. Use your nose
3. Improve your lung capacity
4. Slow down your breathing
5. Hold your breath (obviously not to dangerous levels). It sounds counter-intuitive, but he explains the reasoning.
These 4GL database/programming products seemed poised to succeed in the web era. Think of building small or medium web sites with database and programming language all-in-one. Instead of succeeding, these 4GL products disappeared. I wonder why they failed to adapt to the web era - they seemed ideal for providing web-based database solutions.
Those 4GL database tools made accessing data far more easily and seamlessly than the solutions today. Also, I suspect there was some snobbishness amongst programmers who didn't view these products as 'real' programming languages.
Today, we have clumsy, glued-together solutions for web development with databases. Don't believe me? See this recent discussion on SQLite on HN [1]. I sense that lots of posters and readers in that thread are looking for a concurrent database that is simple and easy-to-deploy and turn to SQLite even when it is not designed for concurrency.
[1] Have you used SQLite as a primary database? https://news.ycombinator.com/item?id=31152490)
> In 2021 the president of Sri Lanka announced a total ban on chemical fertilizer and pesticides. The country’s farms were going to go fully organic.
> Sri Lanka is now in the worse economic crisis they have seen in decades and the government has reversed its ban on chemical fertilizer."
---
Some key points from the programme:
- Farming and related industries are vital to Sri Lanka's economy - 25% are employed in the agricultural industry.
- Rice is the main staple. Before the current food crisis, Sri Lanka was self-sufficient in production: 10kg of rice per person every month.
- Sri Lanka is also self-sufficient in vegetables, tropical fruits, coconut meat, eggs. Important exports include: tea, coconut, spices. Imports include: sugar, milk and wheat.
- Chemical fertilisers are imported and subsidised by the government helping farmers produce high-yield crops.
- The plan to switch to organic in 2021 was poorly planned. Synthetic fertilisers were banned and there was insufficient organic fertiliser to make up the shortfall.
- The suddenly switch to organic farming required more land to match the food yields achieved with synthetic fertilisers. But more farming land is not available.
- The premium-price of organic food suggests strong demand, but the reality is that organic food globally occupies a tiny minority of food products. The demand for organic produce has been overstated.
- Sri Lanka is now importing staples like rice. Food prices have risen and rice consumption has fallen.
- Reducing synthetic fertilisers rather than banning outright could have been a more realistic option - providing a gradual switch to some more organic output.
> Studies published this year have convincingly pointed the finger at the Epstein-Barr virus.
> "It is very, very strong evidence that this virus is likely to be the cause of multiple sclerosis," Prof Gavin Giovannoni, from Queen Mary University of London...
> The crucial piece of evidence has come from the US military, which takes blood samples from soldiers every two years. These are kept in the freezers of the Department of Defense Serum Repository and have proven to be a goldmine for research.
> A team at Harvard University went looking through samples from 10 million people to establish the connection between Epstein-Barr virus (EBV) and multiple sclerosis.
The low-budget series was broadcast in 1981 - a time when computer graphics were limited and not widespread in TV and film. All the "computer graphics" were hand animated to simulate a computer display. The "computer" graphics still stands up brilliantly more than 40 years later:
Progressive Enhancement website examples:
GOV.UK
The UK government website (gov.uk) use Progressive Enhancement and even have guidelines: Building a resilient frontend using progressive enhancement (Last updated 2019): https://www.gov.uk/service-manual/technology/using-progressi...
From the article guidelines above:
> Progressive enhancement is a way of building websites and applications. It’s based on the idea that you should start by making your page work with just HTML, before adding anything else like Cascading Style Sheets (CSS) and JavaScript.
> This is because HTML is the most resilient layer. If the HTML fails there’s no web page. Should the CSS or JavaScript fail, the HTML will still render correctly.
---
BBC News website
I just tried the BBC News website (bbc.co.uk/news) and it works without JavaScript (for UK visitors).
> "The traditional approach to research posters is ineffective. Watch this video to learn how to create new, evidence-based poster designs that get you more visitors and transmit your ideas to more people at the conference."
The BBC website states: "...the sheer volume of the clips has made it difficult for censors to keep up. Many are also being passed around in private group chats, which has made them harder to catch."
Shanghai lockdown: How angry netizens test China's 'Great Firewall' (video): https://www.bbc.co.uk/news/av/world-asia-china-61102809
This BBC article features a side-by-side comparison of the songs. People can made their own mind whether they think it amounts to plagiarism. (Scroll down the middle of the page to the video in the article)
Ed Sheeran: Copyright case was about honesty, not money: https://www.bbc.co.uk/news/entertainment-arts-61026308
I don't think the claim of plagiarism holds at all. Also, it was Sheeran who brought the case to court to clear his name of the accusation (not the other party).
Musicians and composers have always been influenced by other music artists. This is particularly true for orchestral music (classical works or soundtracks).
Here's a 1941 film soundtrack - listen to the first minute. I'm guessing at least 95% of HN readers will guess which other film soundtrack was probably influenced by this. Inspiration, coincidence or plagiarism?
Musicians and composers have always been influenced by other music artists. This is particularly true for orchestral music (classical works or soundtracks).
Here's a 1941 film soundtrack. Can you guess which other film soundtrack was probably influenced by this?
https://www.youtube.com/watch?v=sf47W9rXzRM
----
Another famous music dispute (in the UK) was between British band The Verve and their 1997 hit 'Bitter Sweet Symphony' and The Rolling Stones.
From a 2019 BBC report:
> For the last 22 years, The Verve haven't made a penny from Bitter Sweet Symphony, after forfeiting the royalties to The Rolling Stones.
> The song was embroiled in a legal battle shortly after its release, as it samples an orchestral version of The Stones' song 'The Last Time'.
>...the royalty dispute arose in 1997 when The Verve sought permission to sample a short, staccato string sequence from the symphonic version of The Last Time, recorded in 1965 by the Andrew Oldham Orchestra.
The dispute was resolved in 2019: https://www.bbc.co.uk/news/entertainment-arts-48380600
Compare both pieces
- The Last Time - The Andrew Oldham Orchestra (1965): https://www.youtube.com/watch?v=9YrllfAMwHI
- Bitter Sweet Symphony (1997): https://www.youtube.com/watch?v=1lyu1KKwC74
However, I can understand why Julia is "pigeon-holed for numerics". It started as a language for scientific computing. Today, it promotes itself as a general-purpose language suitable for any task - not just for scientific tasks. Only time will tell if perception of the language will shift. As this discussion shows though, the association with scientific computing remains strong.
The operating system (OS) is written in Rust but apps or programs can be written in any language. However, the Rust-written OS tightly controls access to every feature of the OS.
Examples:
- If your app needs to access the internet it can only do so through an OS-level API. (This means the OS can record inbound and outbound connections from your app - easily seen by users too.)
- App updates are only possible through an OS API for this purpose i.e. apps cannot initiate an internet connection without using the OS-level update API. (This also makes it easy for users see when apps last checked for updates and the URL the app connects to.)
- Apps require installation using a mandatory OS installation API. No executable can bypass this (even single exe files). The OS records every single file the program installs. Core or critical OS folders are off-limits. Attempts to install files to these folders or locations are forbidden by the OS.
- Related to the above, apps can only be installed in a designated 'Apps' sandbox-like folder. Simply copying an executable to any location on the hard drive is not permitted.
The above probably sounds overbearing if you are a developer. But consider the experience on the other side - as a user. For every application, you can inspect the location of installed app files. (Compare that to the current situation where apps happily spew installation files with abandon anywhere.)
As a user, the OS makes it easy to inspect when an app connects to the internet and lets you choose to block if you suspect any mischief.
So what would be the better scenario? The Rust OS with Rust-only apps? Or a tightly-controlled Rust OS with apps permitted in any language?