đž Archived View for gemini.ctrl-c.club âş ~ssb22 âş cvu.gmi captured on 2023-07-10 at 14:24:20. Gemini links have been rewritten to link to archived content
View Raw
More Information
âŹ
ď¸ Previous capture (2023-06-14)
âĄď¸ Next capture (2023-09-28)
đ§ View Differences
-=-=-=-=-=-=-
C Vu articles
I wrote for the ACCU.org members-only journal âCÂ Vuâ (ISSNÂ 1354-3164, not formally peer-reviewed but well-edited) starting from 1995.âI found it to be a good learning environment: if I wrote an article with a misunderstanding, someone would correct it (and the journal being members-only reduces the odds of that situation later being misjudged by an overly-hasty potential employer or similar).âThe journalâs style has changed a bit since the early days.âHere is a list of my articles for reference.
- Standard libraries are faster than you think.âCÂ Vu, 35(3):10, July 2023. (vector implementations and Box64-style emulation)
- Avoiding 4 in Customer-facing Numbers.âCÂ Vu, 35(2):5-6, May 2023. (modifying C++17 charconv base-9 for tetraphobia)
- Developing on a Chromebook.âCÂ Vu, 34(5):8, November 2022.
- On Code Optimisation Part 1 in CVu 34.3. C Vu, 34(4):9, September 2022.
- Inline Confusion.âC Vu, 34(3):7, July 2022. (why use static inlines in plain C)
- A C++ Quiz.âCÂ Vu, 33(6):9-10, January 2022.
- Working for Equity.âCÂ Vu, 33(4):7, September 2021. (on entrepreneursâ recruitment issues)
- The Tips Jar.âC Vu, 33(3):13, July 2021. (âfix a class of faultsâ + partial Python 3 on RISC OS)
- Avoid âproofreading golfâ.âCÂ Vu, 33(2):8, May 2021.
- Revival of RISC OS?âCÂ Vu, 33(2):6, May 2021. (for introductory coding on low-end Raspberry Pi models, but Python still on 2 and gcc still pre-C++11)
- Machine-sensitive Makefiles.âCÂ Vu, 33(2):4, May 2021. (via conditional macros set by shell file-existence tests)
- Professionalism in programming: does it translate?âC Vu, 33(2):7, May 2021.â(ćŹä¸ç¨ĺşĺĺäź/ćŹćĽç¨ĺşĺĄĺć)
- Making a FreeBSD Port.âCÂ Vu, 32(6):3-4, January 2021.
- Is Gitee Chinaâs GitHub?âCÂ Vu, 32(5):5, November 2020.
- GPL out, Apache in.âCÂ Vu, 32(5):11-12, November 2020.â(GPL now widely misunderstood as denying commercial use of code)
- Book review: Girl Decoded by Rana el Kaliouby and Carol Colman.âCÂ Vu, 32(4):23-24, September 2020.
- Jumping around in Emacs.âCÂ Vu, 32(4):12, September 2020.
- When Will Python 2 End: An Update.âC Vu, 32(3):9, July 2020.â(Python 2 due to be in Ubuntu 20.04 till 2025 or paid till 2030; unclear how long Pipâs servers will support pip 20 after 2021; Python 2 *was* going to be in CentOS till 2029âupdate December 2020: CentOS changed this to end-2021 and RHEL8/OEL8 to 2024)
- Static analysis in GCC and Clang.âCÂ Vu, 32(3):11, July 2020.
- The trouble with GitHub forks.âCÂ Vu, 32(3):10, July 2020.â(The path of least resistance is to let them go out of date.âUpdate: by November GitHub had implemented a way to send pull requests downstream to forks, and in 2021 made âFetch upstreamâ a UI option.)
- Thoughts on âComputational Thinkingâ.âCÂ Vu, 32(2):8-10, May 2020.â(Pitfalls of trying to assess it in children; see also correction in CÂ Vu, 32(3):20, July 2020)
- Adding Python 3 Compatibility to Python 2 Code.âC Vu, 32(1):7-8, March 2020.
- âHTTPS Everywhereâ Less Harmful Now.âCÂ Vu, 32(1):5-6, March 2020.â(A follow-up to my 2016 article.âThe protocol has improved and public Wi-Fiâs treatment of HTTP has worsened, but low-income users on old devices are still a concern.)
- Letter to the Editor.âCÂ Vu, 32(1):20, March 2020.
- Why I donât develop for iOS.âCÂ Vu, 31(6):5-6, January 2020.â(It costs too much just to find out if your app is allowed or not)
- Python 2 has setdefault.âC Vu, 31(6):9, January 2020.â(I somehow missed it for 19 years)
- How to stay out of a webmasterâs bad books.âCÂ Vu, 31(6):13, January 2020.â(Try identifying your program in the User-Agent, and *save* your downloads instead of hammering my server thousands of times a day)
- GitHubâs Crazy Contribution-Graph Game.âCÂ Vu, 31(1):8-11, March 2019.â(How I ended up playing it as a favour, with unintended consequences like delaying commits to other days.âCurrent streak 960; previous streak 1026)
- Chinaâs New AI School Textbooks.âCÂ Vu, 30(6):13, January 2019.â(I suspected the âAIâ word was imposed on the authors by the series editor.)
- When Will Python 2 End?âC Vu, 30(6):8, January 2019.â(Canonicalâs commitment to 10 years of support for Ubuntu 18.04 meant they were promising to maintain Python 2 until 2028, but they later clarified that support after 2023 is paid-only.)
- Donât Brush Bugs Under The Carpet.âCÂ Vu, 30(5):4, November 2018.â(A PrimerPooler user stopped giving me details on finding a local workaround.)
- One SSH Key Per Machine!âCÂ Vu, 30(4):13, September 2018.â(A common private key is a bad idea, especially if an adminâs new assistant accidentally puts it on the Web)
- Donât Assume Any Non-Zero exit() Will Fail!âCÂ Vu, 30(3):8, July 2018.â(Unix tools using POSIX wait() get only the low 8 bits of your exit code)
- A Brief Introduction to Docker.âCÂ Vu, 29(5):8, November 2017.
- Why I Avoid PHP.âCÂ Vu, 29(4):9-10, September 2017.â(Existing PHP code tends to be worse than it looks)
- Thonny: Python IDE for Beginners (review).âCÂ Vu, 29(4):5, September 2017.
- A Hollywood Take on Dangling Pointers?âCÂ Vu, 29(2):6-7, May 2017.â(A parody film script to explain a danger of cstr)
- Delivering Bad News from QA.âCÂ Vu, 28(5):4-5, November 2016.â(The wrong approach has cost people their careers)
- Random Confusion.âCÂ Vu, 28(4):10-11, September 2016.â(BSD-manual unclarity on rand() vs random(), plus XorShift)
- An Introduction to OpenMP.âCÂ Vu, 28(4):8-9, September 2016.
- Why Floats Are Never Equal.âCÂ Vu, 28(4):5, September 2016.â(Well they are *sometimes*, but unexpected things happen e.g. compiler changes precision on register spill)
- How to Block Russia From Your Website.âCÂ Vu, 28(3):9-10, July 2016.â(Russiaâs anti-extremism law is too indiscriminate; even some ACCU code reviews could count as âextremistâ by Russian standards)
- Book review: Make Games With Python by Sean M. Tracey.âCÂ Vu, 28(1):23, March 2016.â(Iâm sorry to say I couldnât really recommend giving this book to a child)
- âHTTPS Everywhereâ Considered Harmful.âCÂ Vu, 27(6):8, January 2016.â(Especially for people whose only connection to the Internet is via 2GÂ GSM, reading public-service articles that could be identified by traffic-analysis anyway.)
- Use the DOM Inspector.âCÂ Vu, 27(4):22, September 2015.
- WattOS R9 Worth Knowing About.âCÂ Vu, 27(4):13, September 2015. (old hardware)
- Ode to the BBDB.âCÂ Vu, 27(4):5, September 2015.
- Letter to the Editor.âCÂ Vu, 27(3):21, July 2015.
- Golang programming on AppEngine.âCÂ Vu, 27(3):8, July 2015.
- Simple Android programming with WebKit.âCÂ Vu, 27(1):13-14, March 2015.
- Using ACCU Membership for Unique IDs.âCÂ Vu, 27(1):5, March 2015.
- Perl is a Better Sed, and Python 2 is Good.âC Vu, 26(5):10-12, November 2014.
- Checking Websites for Specific Changes.âCÂ Vu, 26(3):8, July 2014.
- From Raspberry Pi to the Cloud.âC Vu, 26(1):17-18, March 2014. (porting to AppEngine and OpenShift 2)
- The Soundtrack to Code 2: Going Classical.âCÂ Vu, 26(1):11, March 2014.
- The Windows XP Threat: A Call to Action.âC Vu, 25(5):7-8, November 2013.â(I tried to encourage webmasters to detect and warn their Windows XP visitors to upgrade to GNU/Linux)
- Future-Proofing your Python Scripts.âC Vu, 20(2):18, April 2008.â(Speculation on making Python 2 code compatible with Python 3 which wasnât then complete)
- An NSLU2 âSlugâ.âCÂ Vu, 19(5):4, October 2007.
- One Laptop per Child.âCÂ Vu, 19(5):18, October 2007.
- A Brief Introduction to Cygwin.âCÂ Vu, 19(4):8, August 2007.
- Customising a Diskless Linux.âCÂ Vu, 19(3):16-17, June 2007.â(Knoppix remastering for a media-desk application)
- A Python Gotcha.âCÂ Vu, 19(1):9, February 2007.â(Floating-point precision loss could lead to an infinite loop in an early version of Gradintâs scheduler.)
- Book review: Web Accessibility: Web Standards and Regulatory Compliance by Thatcher et al.âCÂ Vu, 19(1):32, February 2007.
- QEMU as a Means of Software Distribution.âCÂ Vu, 18(3):20, April 2006.â(At the time it could run virtual machines without needing administrator privileges)
- Putting Old Modems to Use.âCÂ Vu, 18(1):17, February 2006. (fax, SMS, textphone, dialer)
- ROX Filer.âCÂ Vu, 17(6):31, December 2005. (brief review)
- Recycling throwaway hardware.âCÂ Vu, 17(5):39-40, October 2005.â(Debian-3.1 based scripts to navigate educational recordings on a monitorless PC for a refugee)
- Cross-Compiling Python Scripts into Windows Applications.âC Vu, 17(3):16, June 2005.â(Used by Gradint; works with Python 2.3 but not 2.5+)
- Automatically Generating Word Documents.âCÂ Vu, 17(2):26-28, April 2005.
- Book review: Official Eclipse 3.0 FAQs by John Arthorne and Chris Laffra.âCÂ Vu, 17(1):42, February 2005 (Web only; printed in CÂ Vu, 18(3):39, April 2006).
- Automatically-Generated Nightmares.âCÂ Vu, 16(6):30, December 2004. (on being asked to debug a 100-page printout of automatically-generated code)
- Book review: Contributing to Eclipse: Principles, Patterns and Plug-ins by Erich Gamma & Kent Beck.âCÂ Vu, 16(5):36, October 2004.
- Using a Live Linux Distribution.âCÂ Vu, 16(4):19, August 2004.
- I Wish Theyâd Use the Standard.âCÂ Vu, 15(5):23, October 2003.â(Bugs in early versions of FoxMail.)
- Intrusive Identifiers.âCÂ Vu, 15(3):16, June 2003.â(Undefine format, divert and shift before running English text through M4.)
- TCC review.âCÂ Vu, 15(3):18, June 2003.
- Book review: Readerâs Digest How to do just about anything on the Internet.âC Vu, 15(3):34, June 2003.âNot recommended.
- A Python Project.âCÂ Vu, 15(2):24-26 and 15(3):21-24, April & June 2003. (2-part article about an early version of Gradintâs code)
- A Programmerâs View of Book Writing.âCÂ Vu, 15(1):14, February 2003.
- PDF ProblemsâCan We Learn From Them?âC Vu, 14(6):26, December 2002.â(Acrobat 4 failing to properly tell users it canât handle version 5)
- Donât Touch That Clock!âCÂ Vu, 14(4):17, August 2002. (overnight wget downloads crashed by NTP-sync)
- An Introduction to 4DML.âCÂ Vu, 14(4):26-27, August 2002.âAlso: 4DML Revisited.âCÂ Vu, 14(5):23, October 2002.
- Quick thought on Ruby.âCÂ Vu, 14(4):11, August 2002. (itâs more like Perl than Python)
- On Keeping Notes.âCÂ Vu, 14(3), June 2002.
- On Re-Inventing the Wheel.âCÂ Vu, 14(2), April 2002.
- My Top 25 Unix/Linux Utilities.âCÂ Vu, 14(1), February 2002.
- Book review: Java and XSLT by Eric Burke.âCÂ Vu, 14(1), February 2002.
- Book review: Data Structures & Algorithms in Java 2ed by Michael Goodrich & Roberto Tamassia.âCÂ Vu, 13(4), August 2001.
- POVray review.âCÂ Vu, 13(3), June 2001.
- Emacs (long-term review).âCÂ Vu, 13(3), June 2001.
- Conference review: ACM CHI 2001.âCÂ Vu, 13(2), April 2001.
- Book review: Professional Linux Programming by Neil Matthew & Richard Stones.âCÂ Vu, 13(2), April 2001.
- Some Thoughts on Academic Papers.âCÂ Vu, 13(1), February 2001.
- Various Ergonomic Equipment.âCÂ Vu, 13(1), February 2001.
- Apache Cocoon and XML Publishing.âCÂ Vu, 12(6), November 2000.
- ED: Should You Know It?âCÂ Vu, 12(6), November 2000.â(Also correction in CÂ Vu, 13(1), February 2001.)
- Visual Control and COM.âCÂ Vu, 12(5), September 2000.
- Appropriate Teaching.âCÂ Vu, 12(5), September 2000.
- SDF and FunnelWeb review.âCÂ Vu, 12(5), September 2000.
- (Shell script interfaces in) LUCI CÂ Vu, 12(5), September 2000.
- Burning Your Own CDs.âCÂ Vu, 12(5), September 2000.
- Book review: Designing Effective Speech Interfaces by Susan Weinschenk & Dean Barker.âCÂ Vu, 12(5), September 2000.
- Book review: Teach Yourself GTK+ Programming in 21 Days by Donna Martin et al.âCÂ Vu, 12(5), September 2000.
- Book review: Business Modelling with UML by Hans-Erik Erikson & Magnus Penker Overload 39, 2000.
- ISO 8601: A Standard You Should Know About.âCÂ Vu, 12(4), July 2000.
- An Introduction to Fuzzy Logic.âCÂ Vu, 12(3), May 2000.
- A Personal View.âCÂ Vu, 12(3), May 2000.â(Fear of being criminalised by unintentional patent infringement.)
- An Issue of Patents.âCÂ Vu, 12(3), May 2000. (on adequate disclosure to prove prior art)
- Reinventing Wheels.âCÂ Vu, 12(3), May 2000.
- The Clock is Still Ticking.âCÂ Vu, 12(3), May 2000.â(S2G in 2038 and Y2K sliding-window fixes.)
- An Introduction to CGI Programming.âCÂ Vu, 12(2), March 2000.
- Domain Name Registration.âCÂ Vu, 12(2), March 2000. (negative experience helping a friend register a .net domain)
- Doc++ review.âCÂ Vu, 12(1), January 2000.
- Is there a âbest languageâ?âCÂ Vu, 12(1), January 2000.
- Syntax Highlighting.âCÂ Vu, 12(1), January 2000.
- Commenting Your Work.âCÂ Vu, 11(6):18, September 1999.
- On Configurability and Consistency.âCÂ Vu, 11(6):10-11, September 1999.
- Microsoft Visual Studio 6.0 Enterprise Edition review.âCÂ Vu, 11(6):70-76, September 1999.â(Also some GNU/Linux tools that worked better.)
- Book review: Lingo Sorcery (2nd ed) by Peter Small.âCÂ Vu, 11(6):67, September 1999.
- Difference Structures in C/C++. CÂ Vu, 11(5):13-14, July 1999. (on writing C or C++ in the style of Prolog)
- A Personal View.âCÂ Vu, 11(5):10-12, July 1999. (on being made anxious by university careers-service rhetoric)
- Whatâs In a Struct?âCÂ Vu, 11(4):23-33, May 1999.
- Using Bit Patterns.âCÂ Vu, 11(4):47-48, May 1999.
- Tools and Un-smart Pointers.âCÂ Vu, 11(4):50-51, May 1999.
- Pointers in Hyperspace.âCÂ Vu, 11(4):48-49, May 1999.
- Compile Time Assertions in C Revisited.âC Vu, 11(4):51-52, May 1999.â(Jon Jagger made a correction to this in C Vu 11(5):39-42, July 1999.)
- So You Want to Do Research?âCÂ Vu, 11(4):15, May 1999.â(The 10 funniest responses to my informal enquiries.)
- Writing for Voice Synthesisers.âCÂ Vu, 11(3):13, March 1999.
- Looking Stupid v Being Stupid.âCÂ Vu, 11(3):6-7, March 1999. (on admitting one has learned from mistakes rather than covering them up)
- Boolean Assumptions.âCÂ Vu, 11(3):18, March 1999.
- Assumptions.âCÂ Vu, 11(3):12-13, March 1999.
- Book review: A Programmerâs Guide to Sound by Tim Kientzle.âCÂ Vu, 11(3), March 1999 (Web only, not in printed issue).
- Book review: Software Reliability Engineering by John Musa.âCÂ Vu, 11(3):64-65, March 1999.
- Book review: Interface Design: The Art of Developing Easy-to-Use Software by Peter Bickford.âC Vu, 11(3):65-67, March 1999.â(Includes some accessibility-related aggression, plus authorâs response.âIâm glad to see Apple improved since then.)
- A Personal View of Microsoft Visual C++ CÂ Vu, 11(3):70-71, March 1999.
- Naming Conventions for Spoken Readability.âCÂ Vu, 11(2):26-28, January 1999.
- The Scope of ACCU.âCÂ Vu, 11(2):4, January 1999. (on a âC++ vs Javaâ discussion)
- letter about Japanese encodings CÂ Vu, 11(2):15-16, January 1999.
- TeraTerm Pro 2.3 & Various X servers (review).âCÂ Vu, 11(2):70-72, January 1999.
- Security Implications of Running a Web Gateway.âCÂ Vu, 11(1):36-38, November 1998.
- A Letter on Java.âCÂ Vu, 11(1):28-29, November 1998.â(Character-encoding handlers in early versions)
- Ming GNU C++ and Programmerâs File Editor review.âCÂ Vu, 11(1):59-61, November 1998.
- An Overflow Problem.âCÂ Vu, 10(3):37-40, March 1998.âAlso: A Random Missed Message.âCÂ Vu, 8(4):21-22, May 1998 (plus various responses from others in the same issue)
- Symptoms of a Composer Doing Too Much With Computers.âCÂ Vu, 10(3):12, March 1998.
- Why I left GeoCities.âCÂ Vu, 10(3):15, March 1998.â(Their newly-added popup advertising spoiled my pageâs accessibility for blind people.)
- Bill Gatesâ Lecture at Cambridge (report).âCÂ Vu, 10(2):4-5, January 1998.
- A Little Thought on Qualifications.âCÂ Vu, 10(1):44-45, November 1997.
- Automatic Optimisation Aids.âCÂ Vu, 10(1):45-46, November 1997.
- Book review: Beyond MIDI: The Handbook of Musical Codes.âCÂ Vu, 9(6):72-73, September 1997.
- Palmtop C++. C Vu, 9(5):38-40, July 1997.â(This was about programming the Psion Series 3a)
- Dr Dobbâs Journal (report).âCÂ Vu, 9(5):6-7, July 1997.âAlso CÂ Vu, 9(6):6-7, September 1997; CÂ Vu, 10(1):8-10, November 1997; CÂ Vu, 10(2):15, January 1998.
- ACCU and the Disabled.âCÂ Vu, 9(4), May 1997.
- The âProfessional Touchâ: Using Double Bezier Cubics.âCÂ Vu, 9(4), May 1997.â(Trying to improve my music programâs font)
- Introducing PCM.âCÂ Vu, 9(4), May 1997.
- Randomness.âCÂ Vu, 9(3):7-9, March 1997.â(Responses were in the following issue)
- Automatic Calibration and âHeuristicâ Programming.âCÂ Vu, 9(3):10, March 1997.
- Computer Music Composition.âCÂ Vu, 8(6):40-41, September 1996.
- HP LaserJet Programming (review).âCÂ Vu, 8(5):62, July 1996.
- Writing Applications for the Visually Impaired.âCÂ Vu, 8(4):26-28, May 1996.
- Parallel and Distributed Background Processing.âCÂ Vu, 8(4):30-32, May 1996.
- Multi-Player Games.âCÂ Vu, 8(4):24-26, May 1996.â(I wrote a networked text-adventure for blind students at New College Worcester)
- Using Persistent Data.âCÂ Vu, 8(3):34, March 1996.
- Increase your Programâs Execution Speed?âCÂ Vu, 8(1):27-32, November 1995.
- Various learning discussions (in letters to the editor etc) âWrite FirstâJoin Afterâ CÂ Vu, 7(4), May 1995; CÂ Vu, 7(5):30-32, July 1995; CÂ Vu, 7(6):44-47, September 1995; CÂ Vu, 8(1):12-13, November 1995; CÂ Vu, 8(3):-56, March 1996; CÂ Vu, 8(4):15, May 1996; CÂ Vu, 9(2), January 1997; CÂ Vu, 9(4), May 1997; CÂ Vu, 9(6):18-19, September 1997; CÂ Vu, 10(1):16-18, November 1997.
There might be a couple more early ones I missed in this list.
Legal
All material Š Silas S. Brown unless otherwise stated. Acrobat is an Adobe trademark. Android is a trademark of Google LLC. Apache is a registered trademark of The Apache Software Foundation. AppEngine is possibly a trademark of Google LLC. Apple is a trademark of Apple Inc. Debian is a trademark owned by Software in the Public Interest, Inc. FreeBSD is a registered trademark of the FreeBSD Foundation. GitHub is a trademark of GitHub Inc. HTC and Touch are trademarks of HTC Corporation. Java is a registered trademark of Oracle Corporation in the US and possibly other countries. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Microsoft is a registered trademark of Microsoft Corp. Python is a trademark of the Python Software Foundation. Raspberry Pi is a trademark of the Raspberry Pi Foundation. RISC OS is a trademark of Pace Micro Technology Plc which might now have passed to RISC OS Ltd but I was unable to find definitive documentation. Unix is a trademark of The Open Group. Wi-Fi is a trademark of the Wi-Fi Alliance. Windows is a registered trademark of Microsoft Corp. Any other trademarks I mentioned without realising are trademarks of their respective holders.