Home   Archive   Permalink



Personal Programming

I updated http://personal-programming.com with some new examples. There are now 60 tiny apps in that presentation, averaging 6.5 lines per app.
    
I've always thought of Rebol as not just a development environment, but an amazingly useful power user's Swiss army knife, in ~600k. No other easy to use tool compares in size and overall simplicity.

posted by:   Nick     17-Aug-2017/1:18:54-7:00



Very good job again Nick!
I can agree for the full 100 percent.
This remark is spot on: "they're only concered with using the popular tools which are most likely to secure paying jobs, and it can actually be in their best interest to use tools which generate more billable hours".
Mainstream is perhaps also mainstream because of this kind of reasoning, where the developers tend to think it mostly refers to productiveness and power of their toolset.
I like to point the reader also at this essay: http://www.paulgraham.com/icad.html that makes a solid statement about real productivity. This is amongst others about the budget keepers choosing the mainstream tools because it is 'Industry Standard' so they are not to blame for the choice made, ignoring the possible advantages of alternatives that do provide a factor 2 to 10 in development speed that you will need to compete to bigger rival companies.

posted by:   Arnold     17-Aug-2017/3:47:50-7:00



I think about those concepts every time I have to use Excel.
    
Nick seems to be the gold standard for concise code, or maybe silver if Carl should have the gold. I myself am assembling a collection of useful things I have done at work, to leave behind when I am gone, and my samples are many times longer. On the other hand, I don't want to scare anyone off with anything that looks too hard to read.    
    
If we use only tools provided by a handful of large software companies only because they come from large software companies, and we ignore any potential better ideas because they don't come from a handful of large software companies, how do we make progress? Or maybe we don't. We let the complexity build up until it all breaks, and then we all have jobs going in there and fixing it.

posted by:   Steven White     17-Aug-2017/11:34:14-7:00



Just Google "Nobody ever got fired for", a common phrase down here in Australia. I don't mean to add to the FUD (fear, uncertainty, doubt). Regardless....
    
People will eventually pick up on just how solid Rebol & Red are. Paul Graham pointed out the interesting trend towards Lisp shown by some widely adopted languages. Red & Rebol will gain strength to save us all from drowning in a sea of complexity.
    
I have learned a lot from Nick's code. Its always a pleasure to read.
    
Matrix.org. Speaking of personal programming. I discovered this researching WEbRTC and personal communication.
    
As I understand it, GET & POST and a personal server are the fundamentals of the matrix protocol. If so, this would be a good venue for Rebol code.    


posted by:   Wilson     17-Aug-2017/17:54:52-7:00



Wilson, there is a lot to dig into at matrix.org, WebRTC, and pubnub. I made a push to integrate things like this in a pure Rebol solution, back in my heyday. I even have a saved email discussion with Carl, over a decade ago, in which I emphatically suggested Rebol/multimedia as a commercial direction for Rebol. Unfortunately, like many things in Rebol's history, the timing just wasn't right.

posted by:   Nick     18-Aug-2017/3:14:06-7:00



Many thanks for item 3.37, the year calendar. I just modified it to capture the display for each month into a string for each month, stored the strings in a block, and then used the 12 strings as the text for 12 VID info fields which I put into a display of the whole year in a VID window, for a quick year overview without scrolling. It took around half an hour, validating your point, I believe, about the handiness of personal programming.

posted by:   Steven White     18-Aug-2017/13:57:27-7:00



Cool Steven :) Here's a similar variation which displays any complete year in one VID layout, and allows for editing of events on any date:
    
http://www.rebol.org/view-script.r?script=yearly-calendar.r

posted by:   Nick     19-Aug-2017/6:52:13-7:00



After I borrowed the code to display a yearly calendar, and modified it, I realized that I could modify it because I understood it. Then I realized that at some point in the past I would not have understood it. So, I thought it might be helpful to others who might share my handicap if I could try to capture what it was that I couldn't understand before I forget what it was. To accomplish that, I again borrowed the calendar code and "de-factored" it, so to speak, into something less compact, in an attempt to show people what they are looking at when they see real REBOL code. I don't mean to suggest that denser code is worse. In an environment like REBOL, where code can be data, denser is better, just maybe a bit unfamiliar to a beginner. If I stepped on anyone's toes by borrowing an example instead of inventing my own, I would be happy to remove my little essay. It has served its purpose for me and I am just offering it to anyone else who might be helped.
    
The result is here: http://cobolrebol.com/pages/documentation/DefactoringDenseCode.html


posted by:   Steven White     1-Sep-2017/10:21:02-7:00



Very cool Steve :) In case it's any additional help to anyone, here's a link to a video description of that code example, uploaded about 6 months back:
    
https://www.youtube.com/watch?v=Amqa2M6dhKI

posted by:   Nick     1-Sep-2017/22:53:44-7:00



The documentation was great. I never found a good method to incorporate comments and code in a text document. I find scrolling very distracting. It makes for a difficult read. Heretical.
    
A Rebol viewer makes for easier reading, and enables the reader to edit the code and/or comments.    
    
r e b o l [title: "Documented Code"]
full-size: system/view/screen-face/size
show-code: layout [
     size full-size
     across
     space 5
     style area area full-size wrap font-size 24 with [edge/size: 0x0 para/origin: 5x5]
     style btn btn 100x30 font-size 24
     code:         area as-pair (.70 * full-size/x) (.80 * full-size/y) silver silver
     comments: area as-pair (.25 * full-size/x) (.80 * full-size/y) silver silver font-color blue
     return
     indent 805 space 0
     btn "Back"
     btn "Next"
     btn "Save"
     btn "Run"
]
    
documentation: [
     {    
         if "" = year: ask "Year (ENTER for current):" [
             prin year: now/year
         ]
    
    
    
    
    
    
    
    
         foreach month system/locale/months [
             prin rejoin ["     " month " "]
         ]}
    
     {
Ask for the year. If one is entered, it will show up on the console when it is typed. If no year was entered
    
and we are printing the current year, then display the current year so that some year shows up on the top of
    
the calendar.
    
    
Month names are stored in system/locale/months, and for each on of them we want to print a calendar for
    
the month.}
]
    
code/text: first documentation
comments/text: second documentation
    
view/offset show-code 0x35

posted by:   Wilson     5-Sep-2017/20:09:51-7:00



The Documented Code script did loose a bit of format in the upload. But, easy enough to edit!

posted by:   Wilson     5-Sep-2017/20:13:15-7:00