Hacker Newsnew | past | comments | ask | show | jobs | submit | so-cal-schemer's commentslogin

Logo on Apple //e computers was my first foray into programming.

I was entranced.


There seems to be a lot of unreasonable down-voting happening these days.

You can click on the time-of-post to "vouch" for down-voted or "[dead]" comments to bring them back.

Otherwise, to read them, I will select the text which highlights it in high contrast. Ctl-A on many browsers or triple click on a paragraph.


Thanks. My workaround was to use Chrome’s inspector to disable the CSS rule that made the text grey.

Literate programming is a methodology that combines a programming language with a documentation language, thereby making programs more robust, more portable, more easily maintained, and arguably more fun to write than programs that are written only in a high-level language. The main idea is to treat a program as a piece of literature, addressed to human beings rather than to a computer. The program is also viewed as a hypertext document, rather like the World Wide Web. (Indeed, I used the word WEB for this purpose long before CERN grabbed it!) This book is an anthology of essays including my early papers on related topics such as structured programming, as well as the article in The Computer Journal that launched Literate Programming itself. The articles have been revised, extended, and brought up to date.

A recent discussion:

   We should revisit literate programming in the agent era (silly.business)
   292 points by horseradish 6 months ago | hide | past | favorite | 266 comments
https://news.ycombinator.com/item?id=47300747

Can Cognitive HPC common sense automate away the tedious housekeeping chores? and let work flow.

Cool! Looks like a company that grew out of §3.3.4 of SICP. Hardware oriented NixOS and GUIX users should be very interested in this: declarative PCB designs.

3.3.4 A Simulator for Digital Circuits

https://sarabander.github.io/sicp/html/3_002e3.xhtml#g_t3_00...

3.3.5 Propagation of Constraints

https://sarabander.github.io/sicp/html/3_002e3.xhtml#g_t3_00...

2.1.4 Extended Exercise: Interval Arithmetic

https://sarabander.github.io/sicp/html/2_002e1.xhtml#g_t2_00...


Before ADuni, ArsDigita hosted a number of weeklong workshops at their regional offices. Anyone here attend one of those?

https://web.archive.org/web/20000312031235/http://photo.net/...

Currently scheduled boot camps:

    Earn a $10,000 signing bonus if you join ArsDigita after completing our home study program.
    Earn $1,000 for completing 3 problem sets during one of our remote or on-location boot camps. If interested, send email application to bootcamp@arsdigita.com (include resume stating software engineering experience and reasons for attending). Boot camp costs us about $10,000 per student to operate, but generally we don't look to students to recover these costs. We'll be trying to find candidates who are either (1) interested in contributing to the open-source ArsDigita Community System community, or (2) considering working at ArsDigita.com.
    Ongoing remote boot camp: We will provide an account on one of our Oracle-backed machines and guide you through our problem sets. Most of the work will be done remotely, but we can schedule a time for you to visit and work with us for a few days.
    Cambridge, Ma.
        3 week boot camps starting March 6th, April 1st and May 8th.
        1 week "starter" bootcamps starting any Monday during 3 weeks camps. We will get you rolling on-site and then you will complete the course from home on our machines. 
    Berkeley, Ca.
        3 week boot camp starting March 13th. 
    Pasadena, Ca.
        3 week boot camp starting March 27th. 
    Munich, Germany
        3 week boot camps starting February 21st and March 13th. 
    London, England
        March or April 
Objectives We want to teach everyone the Web/db and community service development skills that they'd get from the problem sets in our one-semester course at MIT, plus the following:

    enough about Unix that they don't impose too great a load on the professional sysadmins
    enough about Oracle that they don't impose too great a load on the professional database administrators
    (in the glorious long version) enough about our server architecture and procedures that they can keep a service up and running 24x7 
Hidden agenda: At least a few folks from each boot camp seem to end up working at arsdigita.com or one of its customers.

Server-side programming is straightforward and can be done in almost any computer language. However, making the wrong technology decisions can result in a site that requires ten times the computer hardware to support. Bad programming can also result in a site that becomes unusable as soon as you've gotten precious publicity. Finally, the most expensive asset you are developing on your Web server is content. It is worth thinking about whether your server-side programming language helps you get the most out of your investment in content.

Who else here read Philip and Alex's Guide to Web Publishing, used AOLserver, or attended an ArsDigita workshop or ADuni?

Chapter 10: Sites That Are Really Programs

https://philip.greenspun.com/panda/server-programming


Tcl for Web Nerds

by Hal Abelson, Philip Greenspun, and Lydia Sandon

https://philip.greenspun.com/tcl/

If in reading this introduction, you've come to realize that "Hey, Tcl is just like Lisp, but without a brain, and with syntax on steroids", you might wonder why Lisp isn't a more popular scripting language than Tcl. Lisp hasn't been a complete failure, by the way; it is used as an extension language by users of some popular programs, notably AutoCAD. But Tcl has been much more successful. It has been compiled into hundreds of larger programs, including AOLserver, which is why we wrote this book.

As a software developer, you're unlikely to get rich. So you might as well try to get through your life in such a way that you make a difference to the world. Tcl illustrates one way:

    make something that is simple enough for almost everyone to understand
    give away your source code
    explain how to weave your source code in with other systems
...

PS/Tk stands for a portable Scheme interface to the Tk GUI toolkit. It has a rich history going all the way back to Scheme_wish by Sven Hartrumpf in 1997. Wolf-Dieter Busch created a Chicken port called Chicken/Tk in 2004. It took on its current name when Nils M Holm stripped it of Chicken-isms to make it portable amongst Scheme implementations in 2006.

A collection of Tk resources for Scheme:

https://wiki.tcl-lang.org/page/Scheme

This is quite old, but I always remember seeing it in the BSD packages collection:

https://conservatory.scheme.org/stk/

Then there is Portable Scheme / Tk, a library for several Scheme implementations:

https://wiki.call-cc.org/eggref/5/pstk

PS/Tk provides an interface to the Tk toolkit, and is an effective tool for creating graphical interfaces.

  (import pstk)
  
  (tk-start)
  
  (tk/pack 
    (tk 'create-widget 'button 'text: "Hello" 
        'command: (lambda () (display "Hello world") (newline)))
    'padx: 20 'pady: 20)
  (tk-event-loop)
And a recent walk-through:

Learn Scheme by Example: Tk GUI with Chicken Scheme

https://blog.matthewdmiller.net/learn-scheme-by-example-tk-g...


https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/lang/STk/in...

STk is a Scheme interpreter which can access to the Tk graphical package. Concretely it can be seen as the John Ousterhout's Tk package where the Tcl language has been replaced by Scheme.

The Scheme interpreter is now R4RS conformant.

This release provides an efficient object oriented system called STklos. STklos is a full OO system with multi-inheritance, generic functions, multi-methods and a true meta object protocol.


Aren't reader macros just a convenient shorthand?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: