Jump to content


  • Posts

  • Joined

  • Last visited

Everything posted by ellestones

  1. i have been meaning to come back to this, so I do it now yes. Formal training tutors tell the students to forget about what they previously know. As the student is in the class to learn to speak the computer language. They are not in class to learn how to interpret what they know into the language being taught. Where an interpretive language is necessary to communicate to the students what they need to know, then a human language is deployed, English for example the next thing I would like to touch on is what Phil was talking about before the conversation got a bit sidetracked. And show a circumstance where he can be right given two people who have backgrounds in applied logic, design, flow charting, etc. Say 2 business analysts one has some prior experience in some other computer language. The second person has no scripting experience at all, so goes on a formal LSL training course. The first does not, no formal training and just goes off what coding experience they already have and then they are both given access to the LSL wiki in the LSL-grammar there are: 7 flow controls: do, for, if, jump, return, state, while 7 types: float, integer, key, list, rotation, string, vector 32 operators: +, -, *, /, =, ==, !=, !, ~, <, >, <<, >>, ^, ~, |, ||, &, &&, etc 49 events: state_entry ... state_exit how many of these is the first person going to recognise from their previous coding experience? Some. How many will the second person recognise? Most, particularly the events then there is a whole heap of LSL API functions. How many of these will each person recognise? Some as they both have backgrounds in logic, design and flow then one of them is going to write complete LSL works sooner than the other where Phil is correct is when neither of them read the manual, don't bother getting any training. Just sit down at their keyboards and start typing based on what they know already and what they can work out for themselves from their own reading of the wiki and existing scripts they may find in which case the person with some other coding experience will probably get their inworld door to open and close a bit sooner than the other person. Sometimes not, as the other person finds a complete door script on the wiki first i just add something else about my own experience of formal training 7 years ago now I asked my boss for a substantial pay rise. He goes: Why would we give you that? I go: Because I know stuff and I am worth it. He goes: You are unqualified. You are about as qualified as that person out there emptying the rubbish bins. I go: Waah! He goes: That person knows stuff as well. What they do is an important job, probably more important than your job as my assistant. I could probably do without an assistant. I couldn't do without the cleaner though and I am like oh! man. And then he says: I want you to go to university and get qualified. It is not enough to know stuff, you have to be able to demonstrate that you do, and be able to show that you have the discipline to complete and obtain a degree 5 years distance learning part time, and done - BSW I go to my boss after graduation and say: What about my pay rise? (during my study years I had been getting normal grade and cost of living adjustment but not anything substantial) And he goes: Sorry I can't do that. I go: Waahh! And he says: You are over-qualified for the role of my assistant. I am going to have to let you go and get someone else. Do you think you would be able to help me find your replacement? and I am just looking at him, glaring actually. And he cracks up and starts laughinh then he says: We have had issues with our recruitment processes as you know. So I am promoting you. And between us we are going to sort it out. And I say I am not ever going to be an HR officer, not even! And he goes: I thought that you might say that. Sign here, you are now a consultant on monthly retainer. I look at the amount of retainer and ooh! and sign. And then he says: Right! Get to work and earn the big bucks I am now paying you. Consult with all the department heads who will be affected and I want a draft recruitment process design document on my desk before the end of the month for every role we have. Our org has a lot of roles. IT/IS, line management, health practitioners, educators, accountancies, social workers, ancillary staff and now that we are into housing then project managers, building and maintenance contractors lots of technical disciplines to recruit too. From my pov it's not about who we hire, it's about how we hire people. And one of the best ways I have found in understanding how to recruit people isn't so much in us getting the correct answer to a question. It is about examining the person's understanding of the answer they do give an example. Recently we looked to appoint a Clinical Director. Senior Medical Officer status, highly-qualified and experienced doctor specialising in general mental health. One of my questions to the applicants was: How conversant are you with the Ministry of Health guidelines relating to client rights under the Mental Health (Compulsory Assessment and Treatment) Act ? And could you relate an instance from your own experience of this please ? when a candidate at this level gets asked this kind of question, not being a technical practice question, they respond in different ways. Most candidates respond cautiously and some few don't. As when they look at the doctor convening the interview panel and see that doctor looking at me, then most candidates realise that their answer is going to be tested by my follow up questions. Their continuing responses followed attentively by the candidate's medical peers in the room. Basically, Doctor do you understand what you just said ? is early days yet but what we working to discover is: Is there a process whereby roles can be filled by self-selection. A process by which the understandings of the candidates are revealed by themselves to themselves. In other words, having examined myself then I know that this role is actually for me, or this role is actually not for me even though I think I would like it
  2. functions do exist. For a computer to run it has an operating system. A whole bunch of functions. In the tiny 16byte program above the line JSR $FFD2 is a function call to the operating system API. Its equivalent in LSL is llSay(...). In assembly, like in any other language, when there is no API function call to do what we want then we have to write it ourselves
  3. seriously Phil. Do you even know assembly ? a message for you from back in your day. It shows evaluation, conditional and branching. (a loop). Anyone reading who knows this language, knows what the message is. They will also know exactly from this program's language what computer environment is required for the program to execute 2000: LDY $00 2002: LDA $2010, Y 2006: JSR $FFD2 2009: INY 200A: CPY $13 200C: BNE $2000 200F: RTS 2010: $4D $65 $72 $72 $79 $20 $58 $6D $61 $73 $20 $50 $68 $69 $6C $20 $3A $29 functions also do exist. We have to write them using the language. Just like we do with any other language
  4. because you think, you think like a programmer, is why say the things you do you also this earlier. " With the exception of machine code/assembly, programming experience is a HUGE/MEGA advantage when starting to programme in LSL (or any other language)." Why if your argument is true, would you exempt machine code/assembly. Assembly languages have conditionals, evaluations and branching mnemonics, just like any other computer language. is quite clear from what you say that you are self-taught. When we have no formal education then yes your view that your previous experience is of great help to you is understandable Yet, you also say stuff like, when you go back to using previous languages you struggle. Why that is, is because you don't think about what the purpose of language is. You type to chop out code. Along with all the other code cutters who don't bother to learn the language, who settle for being able to spell correctly
  5. people are beginning to work out how to do this a youtube explainer by such a person is here: there are other youtubes as well
  6. the internet has many links to the statement "think like a programmer" Steve Jobs is often internet misquoted as saying: "β€œEveryone in this country should learn to program a computer, because it teaches you to think.” And from this some people have extrapolated: "What does it mean to think like a programmer?" And some have gone on to sell a whole bunch of books and seminar attendance tickets, to explain what they think this means Steve Job never said the above misquote, and certainly never said think like a programmer what Mr Jobs actually said was: "I think everybody in this country should learn how to program a computer, should learn a computer language because it teaches you how to think." to program a computer we have to learn a computer language. Learning a computer language teaches us to think like a linguist. A linguist is a person who understands linguistics - the scientific approach to the study of a language, the analysis of the language's form, the meaning of the language, and the use/application of the language in its proper context people who have the benefit of formal education in the computer sciences are taught this in their first year at college
  7. every applicant pretty much lists C/C++, C#, Java, JScript, Android, .NET/Mono, LAMP/WAMP, SQL, XML, Python, CSS/HTML, etc etc. All the standard things along with the minimum standard qualifications: BSc, BTech, etc. When they don't have the expected standards then applicants don't make it past the intial stage a thing that lots of job applicants don't realise is that most job applications in medium to large organisations at the initial stage, are excluded by a relatively junior Human Resources staff member who has no technical knowledge of the job advertised. The staff member works from a criteria list. Sorting the applications into 2 piles. Pile A is those who have the listed qualifications and at least some of the language/technical requirements. Pile B is those who don't. Nobody other than that staff member ever gets to see Pile B pile A then goes up to that person's Human Resources supervisor, who then does another exclusion sort. This person looking at things like job history, are the referees technical or are they character referees only. If no technical referee, past or current employer, or in the case of students then a faculty member, when not then its Pile B. Nobody else gets to see them either those still in Pile A go to the department. Where a medium-level staff member will do another exclusion sort. Medium-level meaning at least a team leader level person, not the boss. Leaving about 3 to 8 potential candidates remaining. Its those that remain that I help to interview - their first screen interview. And as all those remaining have met all the standards, then when I am reviewing their portfolios prepping for the interviews, , along with the notes prepared by the medium-level person, what I look for is: What else does the applicant bring with them ? if a person doesn't bring something out-of-the-ordinary with them, something that sets them apart from the other applicants, then its either: They have a pretty traditional conservative approach to their work, or they are just wanting a job. When so then a person has to be exceptionally gifted to progress much further LSL would in this process be something out-of-the-ordinary. In the same vein as a portfolio that includes stuff like Unity, micro controllers, robotic toys, etc. Little if anything to do with the job being applied for, but an open expression of a curious, lively and enquiring mind. Its this latter I pay close attention too. Sure the successful applicant has to do all the usual database client server work as expected. And No, being a whizz in LSL or winning a local heat of Robot Wars won't all by itself get them the job. But it does help to show what else they have about them. Something that I, and those like me who do the technical review process, are looking for after the applicants get through the screening interview and tests then the boss gets the short list. Anything from 1 to 3 final candidates (sometimes none as nobody from the current crop of applicants made it that far). The boss gets those who do remain back for another interview. At which the only remaining criteria is: Can the boss see the candidate working well within their team sometimes a person at that final interview can blow their opportunity. When the boss asks the candidate about their experiences, the boss already knows that you (the candidate) are technically and ably qualified for the job. You wouldn't be at the final interview if you weren't. The boss is not impressed by a recital of your technical chops. What they are interested in finding out is, what kind of person you are
  8. yes that is true also in the circumstances you have described I contributed what I have more for college students like @autonug who may end up reading this thread. When they graduate they are going to be in a job interview or presenting an application for funding. Someone like me is going to sitting in the end chair of the interview panel. And what that person will be looking for is not only does the applicant know what it is they are applying for, but also are able to show that they are actually applying it in their submission for example. An applicant includes LSL in their portfolio. What will be looked at is not that there is a working LSL app, that it works is expected. What will be looked at is, how well reflected is the environment in their portfolio code submission
  9. i agree with the point you are making my experience is hiring technical practitioners to roles within our organisation, including programmers when we are new to a language then our experience in other languages can be a hindrance to us, during the initial learning phase. Like as an adult and we are English learning say Russian. We tend to think in English to begin with, translate it to Russian before we vocalise. When we hear russian in the initial learning phase, we tyoically translate it to english to try to understand what we just heard. We don't think in Russian. Unlike a russian child learning Russian who knows no English an example of thinking in a computer language environment. A dev shop who worked with my then organisation, had a test for programmer applicants way back in the then brave new world of visual object-oriented programming on the Windows platform the test question: How well do you speak Delphi 3 ? the test question body was: Build a Windows program with Delphi 3 that contains and displays the following strings in a Memo control ["the rain", "in spain" "falls mainly" "on the plain"]. When the user clicks a Button control, sort the strings into lexicographic order beginning with the 4th character ending with the last character almost all applicants who completed the test, most of who were coming from other language environments - including procedural Pascal. Delphi 3 being a new environment for many commercial dev shops at the time - wrote a version of a looping sort routine in the button click event. Those who did this never got hired. As the test giver's expected answer to the question "How well do you speak Delphi 3?" was: procedure TestForm.SortButtonClick(Sender: TObject); function SortOn4thChar(List: TStringList; X, Y: Integer): Integer; begin if Copy(List[X], 4, Length(List[X]) - 3) <= Copy(List[Y], 4, Length(List[Y] - 3) then Result := -1 else Result := 1; end; begin Memo.Lines.CustomSort(SortOn4thChar); end; this is your point I think. Knowing another computer language doesn't always help us when learning a new language in a new and different environment. It can sometimes hinder our learning and understanding of the environment like when we find as in the above example, that our own coded string sort routine - based on our understanding of a previous programming language environment - does run/execute in a Delphi 3 application, then we can easily be satisfied with this, and never look any further into how we can better use the language environment which we are now coding in or as the person who told me about their dev company test from those days. Has the applicant read the manual. If they have do they understand it. If they do understand then have they applied their understanding to the environment they are now coding in about cocky people i quite enjoy over-confident people at interview. I enjoy mostly though people (both over and under confident) who listen carefully at interview when I tell them to think about their interview responses, as if they make it past this interview they will be given a technical test which examines their understanding of the answers they are about to give to the interview questions I am about to ask them
  10. oh! man lol. Tooo funny! at least you got it to go Ayane. So well done and good on you /me gives Rolig a hug πŸ‘©β€β€οΈβ€πŸ‘© and a hug for Ayane πŸ‘©β€β€οΈβ€πŸ‘© and Wulfie πŸ‘©β€β€οΈβ€πŸ‘© and xmas hugs for everyone else as well πŸ‘©β€β€οΈβ€πŸ‘©
  11. i get this problem sometimes. Our causes may be different tho assuming that is not a hardware issue, like your Ethernet card is failing what I found that helped me, was to add more DNS connections to my desktop. In my case I added my ISP DNS, two Google and two OpenDNS a instructional of how how to do this on Windows 10 is herr https://www.windowscentral.com/how-change-your-pcs-dns-settings-windows-10 i am only kinda guessing here, but I think my router gets flooded when lots and lots of domain-based connections (which SL has lots of) from a single external source are received, causing the router to shut down. Having multiple Domain Name Servers helps (I think) to spread the incoming load vectors a adjacent point, is that my ISP has told me that they don't deliberately drop my connection when their DNS receives large bursts of requests from me, but am pretty sure there is some kinda fail-safe cutoff point built into their DNS software
  12. i am with you. This is great. Thanks people
  13. @autonug if what you mean by demand/supply ratio is show me the money, then the money is in products that use scripts to functionally enhance their mesh components if you see LSL as another way to apply what you are learning in school then that's where the money is. When you graduate and apply for a job then the more working examples of stuff that you can show in your portfolio, the better your chances of securing a job that you want
  14. you might want to look at what is called a trivia game, which does what you ask. A way to script a trivia game is here: http://wiki.secondlife.com/wiki/Trivia
  15. sometimes is best to script test before saying stuff like this when we set memory limit to less than the static compiled size then llSetMemoryLimit has no effect. Which is expected behaviour as it makes no sense to do to this when we set it to more than the static compiled size then the script will crash with a Stack-Heap Collision when the memory limit we have set is exhausted at runtime example test which has a static compiled size of 4432 bytes list stuff; default { state_entry() { llOwnerSay((string)llGetUsedMemory()); llSetMemoryLimit(6000); llSetTimerEvent(1.0); } timer() { llOwnerSay((string)llGetUsedMemory()); stuff += [ "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" + "0123456789ABCDEF" ]; } }
  16. thanks for the info Qie my knowledge of languages like LISP as you mention, and FORTRAN like Rolig mentions earlier, is that while I have heard of them and have some idea of how they work, is pretty much exactly zero from a hands-on pov
  17. wooo! Object Pascal. Thats pretty grandparently i thought Delphi 5 was pretty elderly when I was first given it. So Object Pascal definitely really elderly, in a kind and caring way i haven't looked at in ages now but am pretty sure that the Lazarus Pascal dev environment is still built with an opensource Object Pascal compiler. The compiler code itself written in Pascal. So it compiles itself. Which is pretty cool
  18. mostly like yes my own path was a managed code environment. Office VBA writing custom functions for my own use at work, which then started to get used by my then co-workers. From there my organisiation then asked me to look at some of the .NET and Java client server apps we were using. Managed code object-oriented environments. Then i got asked have to a look at a legacy unmanaged app written with Delphi 5. When I dived into the Delphi VCL library I found that the classes I had been using up until then were wrappers for procedural code, where the deeper you went the closer to the metal code you got. For example: TMemo > TEdit > TWinControl > TControl > TComponent > TPersistent. At the TPersistent level it is pure low level procedural Pascal. And then when I opened up some of the custom components built for the app then I found they had been written in C++ drilling down to pure C and in some optimised parts of the components purely procedural Intel x86 assembly so having gone thru this I ended up for a time in a professional dev shop which was a pretty hardcore blistering learning experience for me. Serious people, hard deadlines and lets get it done and shipped. From this I was headhunted to another organisation, for who I still work, but now more in a consultative role so my coding life experience brings me too LSL from the opposite direction from you pretty much. State event-driven managed code > object-oriented code > procedural code > LSL as Rolig and other long time experienced programmers with broad experience have said. Is no one true way. There is no one true design model. There is no one true code workflow methodology if there is a truth in the commercial world of programming it is: First get our code to work without error - however well or badly it might perform in resource consumption and runtime efficiency. Then Second, optimise the codes after the app works without error. Then Third, look at how code can be written so that is portable however, a hard truth is that clients don't pay us to write portable code that we are going to use again for another of our clients' benefit. They are paying for their app, not paying for the work we do for other clients but yes, when we do get to be like Rolig and others with years of tried and proven experience, then we can write for One, Two and Three all at the same time when we don't tho have that hard-earned experience and try to jump to Two and Three before we have mastered One, then our codes are never going to work without error. No matter how little resources we use or how fast it runs, or how portable the code is. Slow and inefficient code that runs error-free wins every time over code that runs fast and lean and dies before it gets to the finish line. So One, then One-Two, then One-Two-Three
  19. this is what I have found with my male friends. They would rather shorten themselves than ask me to make myself taller when dancing with a lot of fitted mesh these days Is not as much of an issue, but there is still an issue, to make ourselves taller with the height slider. Back in the prim days this was a pretty fraught thing to do. Prim and later sculpt everything attachments often needed to be adjusted. So the men would say they would shorten because lots less (or none) attachments for them to adjust. They rather be dancing than stand there for 20 minutes while I hitch all my stuff up in the middle of the dance floor most men from those days just keep on doing this today. Because thru experience they know that while our bodies look great at our normal height, then we can turn into skinny giraffe when we lengthen our height and not adjust every other slider to compensate. Which if don't adjust also then will I start to fret, and my dance partner starts to sob quietly to himself
  20. usually in a discussion about states and events then the general approach, general meaning fallback, tends to follow our life coding experience as programmers typically those raised on procedural languages tend to write LSL code procedurally within a single state. The equivalency being a C program: main() { initialise(); program_loop; exit();) those who are raised on event-driven object-oriented languages tend toward using states, along the design principles: state initialise(); state main(); state exit(); am not sure what people's experience of tools like C# and Delphi Pascal are. You will find the latter construction in these languages. And we find intuitive flow control structures in them like this: begin { initialise() { } try { } except { } finally { } } intuitive meaning intuitive to a person conversant with object-oriented event-driven programming basically in these languages we don't initialise as we go. We initialise first, try/execute the code, handle the exceptions, then finally tidy up. When the interaction with the player/other object fails then we deal with it by exception, go back to the beginning when we can, re-initialise and try again a example of this, using the event-driven state model inherent to LSL default() { state_entry() { .. initialise .. .. load notecards, etc .. } data_server( .. ) { if (..EO initialise..) exit; state main; } state main() { ... wait for player ... ... on acquire player exit state play; } state play() { .. try play events .. except state exception(); .. finally discard player and exit state main(); (and wait to acquire the next player) } state exception() { state_entry() { ... show exception visually settimer(); } touch() or listen() for player input { ... wait for player acknowlegement, when obtained exit state player(); } timer() { .. finally ... discard player and exit state main(); } what this approach means is that the if is and if that decisions typically found in procedurally coded programs are lessened, coding exceptions for listeners and inputs are reduced to only those necessary for the state that the program is in as the program flow unfolds when we see code of fairly large and complex interactive LSL programs then is noticeable what the life code experience of the person who wrote it is
  21. in the LL standard viewer Shape Editor ruler shows the height of the avatar bounding box. Which measures from the bottom of our feet up to our eyes. (historical reasons for this and never changed since). So we are by prim ruler measure taller than the LL standard viewer indicates. Some TPVs have changed the Shape Editor ruler to show closer to our prim height in the standard LL viewer I find that in our bare feet, the LL ruler set to between 168cm to 175m works relatively well, in relation to the average norm of all human avatars overall. As when we add our shoebase/heels and hair then we are visually at about 185cm (about 6ft).give or take some cms. Which works out pretty good overall, given that most guys (averaged) tend to be between 6.0 - 6.8 feet tall in SL by the SL Shape editor
  22. we have all been here. Is like nuuuuu ! o.m.goshhhhhh ! whyyyyyy ! but then after a bit. Oh! well. And do it all again and hope
  23. ^^ yeah that ^^ is still a few people today who think there is something wrong with women who say yes to sex when asked straight out. And something more wrong, evil even, with women who just flat out ask first
  • Create New...