Eagle Ford Shale

Continuing the series, what is 50 miles wide, 400 miles long, and delivers 1.1 BILLION barrels of oil per day?

The Eagle Ford Shale in Texas!

Here “shale” is the operative word. Thanks to fracking, the production has increased from around 300’000 barrels per day ten years ago, to over a million today!

“Frack, baby, Frack!”

New pumpjacks – did they frack?

Here is a snap I took in southeast Texas, somewhere between Corpus Christi and San Antonio:

These are modern pumpjacks – and the owners are clearly labelled on the sign:

This snap was taken here, 

just a few miles north of the village of Cambellton (pop. 350):

There are two things that are really interesting to me. 

First, since Texas is a very mature oil area, how could there be NEW pumpjacks? Does this mean they carried out fracking somewhere nearby? My guess after doing a bit of research – YES!

And second – I looked up the company: Murphy Exploration and Production. Interestingly, the senior leadership teams has financial leaders, HR leaders, legal leaders – but nary an operations leader! 

So . . . who at Murphy is responsible for actually getting the oil out of the ground?

My battle with a monster

A Guest Blog, by Arlene Ritley

I was in the bedroom reading and got up to go into the front room to turn the light off when I noticed this huge creature on the wall above the lamp, black with legs and a silver black back with tentacles and furry legs. It was still – not moving, just frozen in time.

Quietly on Catholic feet, I moved into the kitchen, open the cabinet under the sink and looked for something to spray him with. All I found at first was some room spray, and I took that. Then I found some Clorox without bleach spray, and I brought that along. I was now armed and ready for battle!

I quietly gathered my arsenal of weapons and walked close to the wall he was on. I knew he was looking at me, because the tentacles on his head began moving, almost as though he were trying to get my scent from the air. I slowly and carefully picked up what I thought was the Clorox without bleach. However, it turned out to be, the room spray. I had no choice put to aim the spray at him and pull the trigger.

The spray hit him full on, but he turned his head to look at me, and I almost saw him laugh, saying to himself quotation marks what does this woman think she’s going to kill me, room deodorizer?

And slowly, laughing at me, as I stood there, he climbed up the wall, not bothering to look back.

I quietly turned around and found the Clorox spray. I turned the nozzle on and put a sample of the spray into the sink. Seeing that the Clorox comes out of the spray quite heavily, I pointed at the cockroach and sprayed and sprayed and sprayed.

The Clorox spray started trickling down the wall, leaving wet marks on the wall as it came down. The cockroach never moved, although it was covered in the spray. It just looked at me and I looked at him. I told him, cockroach you will not win the war. I sprayed him again and again.

He finally fell off the wall, and I thought to myself this is the end of roach. But as I looked at him on the rug, he started moving slow, but then gaining speed running around my chair, trying to find a hiding place. The rocker is large, and there are many hidden places that he could hide within the springs of the chair. This is not what I wanted. So again, I moved forward, seeking him out.

He finally came into view, and once again I sprayed him, and he moved into the hidden shadows, and I lost him, but he came out again, and the spray was in my hand, and I used it spraying and spray until there was puddles of spray in the rug.

It finally seemed that the end was near for the roach. He did not move, nor did he look at me. I almost thought he was giving up, and I was very happy to put my spray down. But instead he made a right turn and went back under the chair with the speed of lightning.

I moved the chair and there he was quietly sitting, looking at me. I walked away and went to the closet and found a broom, and I got that out along with the rag. So, although he was not moving, just looking at me, I quietly threw the rag over him, and then hit him and hit him and hit him with the end of the broom. He did not come out from under the rag and so I stepped on it with all my weight. Gently and quietly I picked up the end of the rag and looked underneath it, and there he was never to live again. I wrapped him in a paper towel and put him in a large plastic bag which I then sealed tightly. Tomorrow I will take him to the trash barrel. But I know in the back of my mind if there is one cockroach in the house there are many, so every day I will be looking at the walls and the carpets for anything that moves.

I going to call the handyman out to put a sweeper under my front door so that nothing from the hallway hallway will crawl into my room.

I am also going to look on amazon.com to find some roach killer. And have that sent to me on overnight delivery. It is war and I will win!

Programming with ChatGPT

For fun, I’ve decided to spend a few days and create a fairly complex client/server application (CRUD), using the technologies Python/FastAPI and Vue.js and the PostgreSQL database. But also for fun, I’ve decided to let ChatGPT do 100% of the programming, so my role is restricted 100% to prompts, putting the code into Visual Studio Code, and testing. Even in cases where I could easily do something by hand, I asked ChatGPT to do it.  Think of the movie Supersize Me, but for IT.

I wanted to record my thoughts as I am working on this project!

What’s worked well

  1. ChatGPT exceeds where I want and need the help. I’m not a full-time application developer, so I have no desire to fill my brain with things I will never remember, like HTML and CSS and stuff like that. ChatGPT has done a great job: “Can you please make the box a bit longer and a slightly brighter shade of green?”
  2. ChatGPT doesn’t just give me the code; it explains to me what’s happening and highlights important topics. This is important for me, since me acting as “dumb scribe” together with ChatGPT does not work; see the next section for bad examples! This means I need to have as deep a knowledge of the code as possible.
  3. ChatGPT helps me learn. Before I started this project I had no experience with Vue.js. Thanks to ChatGPT’s constant inputs and help, after just 2 days I have a much better knowledge of this product.

What’s worked badly

  1. For whatever reason, ChatGPT seems to have good days and bad days. I have no logical explanation for it. I can only guess it has to do with my prompt history (e.g. “context”) – but that’s just a guess. One example: yesterday I had to stop our session many times: I’d give it a source code file, instruct it clearly to change only the business logic and not the look-and-feel, and ChatGPT would change both. But today, working with that exact same file, ChatGPT only makes the changes I request. Another example: yesterday, no matter what I tried, ChatGPT would also regurgitate the complete source file; but today, it (thankfully) only gives me the bits-and-pieces that have changed. Degree of frustration: *****
  2. Infinite debugging loops. Yesterday was a particularly bad day for this, but it happens frequently. ChatGPT gives me code that has an obscure bug. I feed the error message into ChatGPT, and it spits out essentially the same code as what created the bug. I call this an “infinite debugging loop” – and I’ve needed to “break out of this loop” many times – but sometimes telling ChatGPT to take a different approach (and have it really take a different approach) is easier typed than done! Degree of frustration: ***
  3. More than I need. Yesterday was also a particularly bad day for this. I needed a simple update to a single file (e.g. change the button text from “Save” to “SAVE”). ChatGPT would then not just give me the needed files, but also 4-5 other files (usually with the text “Please ensure file XZY looks like this:”.  Degree of frustration: *
  4. Unable to debug some problems. There have been a number of bugs during development that ChatGPT was incapable of solving. After quite some frustrating time and back-and-forth, I carried out my own debugging. I found the need for this could be reduced by ensuring ChatGPT always took “baby-steps” that I could continually test. But I did want to point out: total elimination of the human factor in debugging is not yet possible.
  5. ChatGPT often goes into “guess mode.” I encountered this situation this morning where a Vue component with a dynamic table suddenly started adding duplicate entries into the table. ChatGPT: “Let’s see if this is race conditions…” It was not. ChatGPT: “OK, let’s see if they are added to the local array and not the server…” They were not. Guess after guess. I gave up. You get the idea. Frustration factor: ***

Other considerations

  1. I’ve done “extreme programming” or “pair programming” many times, and the good social interaction between programming partners can really keep the momentum going. Even with ChatGPT instructed to treat me nicely and call me Dr. Ken, I can only stomach about 90 minutes of work with ChatGPT without having to take a “frustration break.”

Advice for students and others

Naturally your mileage may vary, but I’ve found that programming with ChatGPT requires not only constant attention on my part and a deep knowledge of the code, but also the ability to carry out my own debugging. I can easily see that without some prior programming experience — and especially debugging experience — working in this way might be very slow and tedious.  When you do enough debugging, you get a “gut instinct” of where the problem could lie – and that was essential for me to climb out of the holes ChatGPT would occasionally dig for me.

NOTE: This article was published on LinkedIn

Data-Driven Promotion of Social Relationships, Classroom Climate, and Well-Being in School Classes

Abstract/Summary

The profession of being a school teacher involves working with data of various forms and content. Teachers use informal observations, learning process monitoring, and assessments to support and educate students. However, tools to systematically capture and analyze social dynamics in the classroom are often lacking. A joint project by Bern research institutions, funded by BeLEARN, integrates educational research and IT to develop a digital social climate monitoring tool for school classes. The goal is to help teachers supplement their perceptions with quantitative data to improve the classroom climate and the well-being of all students.

Teachers as Data Professionals

Although not immediately apparent, the teaching profession is one of the world’s most data-intensive jobs. Teachers implicitly and explicitly work with data derived from continuous observations in daily school life. This data not only includes information about the skills, achievements, and potentials of individual students but also about the learning climate, class community, and relationships among students. Teachers are expected to care for the well-being of all students and to foster a positive classroom climate. In fact, they have a significant influence on shaping social processes as an “invisible hand.” Research shows, however, that there are often discrepancies between teachers’ perceptions and students’ perspectives. Data-based feedback on social-emotional aspects in school classes is still relatively new compared to tools for assessing learning progress.

Our research focuses on developing a software application that integrates standardized student surveys, complex network analyses, and data visualizations to make social-emotional data accessible to teachers in an appropriate manner. This aims to raise awareness of social-emotional processes and support teachers in creating inclusive classrooms.

A Software System Alone is Not Enough

Our research project differs significantly from the usual scenario of “IT develops an application to meet business requirements” because we pursue various research questions that can only be solved through the collaboration of IT and educational experts:

  • Definition and Measurement of Key Concepts: Measuring mathematical competencies is not a major challenge. But what about well-being or social climate? What constitutes a good relationship? These three areas of research are complex constructs requiring the project support of experts in these fields.
  • Collecting the Right Data with the Right Quality: The IT system used must be objective, reliable, and valid. It should distinguish between children who have good relationships and feel well, integrated, and accepted, and those who do not. We are currently testing a combination of various scientifically validated questionnaire scales for children.
  • User-Friendliness for Teachers and Students: While simplicity and accessibility are prioritized in the usability for the students, visualizing the relationship networks, the aspects of well-being and the classroom climate poses a challenge for teachers. Teachers should not be overwhelmed by the extensive data but rather be encouraged to reflect and act. Developing the right intuitive and user-friendly interface is a key part of our project.
  • Data Protection and Security: Students’ data are sensitive and should be collected, stored, and analyzed by the teacher in compliance with data protection laws and ethical standards. How teachers handle the survey results and communicate these to the students and their guardians are also important questions addressed within the research project.
  • Integration into Existing Lessons: The tool should enable continuous monitoring of how students are doing in the class and how well-being, relationships, and climate change over time. How teachers can integrate the tool most effectively into their lessons, and how the motivation of students and the quality of the data can be ensured over time, are a key part of this research. 
  • Team Collaboration: The tool is designed as an easy-to-use instrument to help teachers analyze social processes within their own class and promote the well-being of all students. However, teachers do not work alone, and especially in difficult situations such as bullying, professional collaboration with other teaching and professional staff is important. The tool must promote collaboration with professionals in school special education and school social work. How this can be implemented concretely is another research question.

Only by a close collaboration between experts in the educational and IT fields can we address these challenges. By developing a sophisticated, user-friendly tool that provides meaningful insights into the social dynamics in the classroom, the project aims to promote the social integration of all students and an empathetic learning environment, thereby improving learning for everyone.

Conclusion

The work of teachers is – although not immediately apparent – a data-intensive profession. Over time, teachers gather diverse experiences in working with students. In doing so, teachers develop remarkable skills in collecting and using this data. By equipping teachers with sophisticated tools, we aim to complement – not replace – these strengths. The addition of a user-friendly tool to capture classroom climate, social relationships, and student well-being supports teachers in their work and contributes to creating a positive learning environment for all students.

Acknowledgements

We thank the BeLEARN organization for funding and supporting this project. We also thank our research partners Caroline Sahli Lozano (PHBern), Michael Eckhart (PHBern), Tina Hascher (University of Bern), Carmen Zurbriggen (University of Freiburg), Victoria Mirata (Fernfachhochschule Schweiz), and Barbara Muntwyler (Mosaikschule Munzinger). We also thank our BFH software architect Hugues Clavadetscher and our software developers Roman Schneiter and Christian Schmidhalter.

About the Authors

  • Sergej Wüthrich is a trained primary school teacher and psychologist. He works as a lecturer and research associate at the Institute for Research, Development, and Evaluation as well as at the Institute for Special Education at the University of Teacher Education in Bern.
  • Kenneth Ritley is a Professor of Computer Science at the Institute for Data Applications and Security (IDAS) at the Bern University of Applied Sciences, Technology and Information. The native American has had an international career in IT, holding various leadership positions in several Swiss companies such as Swiss Post Solutions and Sulzer, and has built offshore teams in India and nearshore teams in Bulgaria.

No Such Agency

Most people think the NSA is located in Ft. Meade, Maryland – and indeed, part of it is there. But according to rumors — and mind you, these are just rumors! — another NSA complex is located in San Antonio.

Of course, San Antonio is HOT – it actually broke global heat records in 2023 for the most continous days above 40C/100F. So as you can imagine, IF the rumors are true — and if the NSA were located in San Antonio — and I have no way of knowing if those rumors are true — and IF the NSA operated a huge datacenter — then it would be quite reasonable to expect a LOT of air conditioning.

Well, rumors aside, right next to a Walmart I spotted a HUGE field of massive air conditioning units – with no buildings in sight! To give a sense of scale, these air conditioning units easily cover a size of 10 footballs fields! So it does make one think: what exactly is being cooled, where, and for what reason?

Run on water

Texans can be crazy. After the world’s hottest and longest summer with 100+ continuous days of temperatures higher than 40C / 100F, San Antonio had a cold spell where the temperatures dropped below zero.

Because this never happens, the Texans of San Antonio panicked. The television stations broadcasted instructors about the 3P’s: Pets, Plants, Pipes. And there was a “run” on bottled water, since the Texans thought the world might actually end:

When programs write programs for programs

The evolution of programming languages from the electromechanical 0GL to the advanced 5GL has fundamentally altered human-computer interaction. High-level languages and Low-Code/No-Code platforms have democratized programming, leading to the recent integration of AI tools which challenge traditional programming roles. But now, the confluence of AI with coding practices may not be merely a further incremental change but could represent the inception of a new paradigm in software development, a symbiosis of human creativity and computational efficiency.

The human/computer interaction

How humans program computers has only changed a handful of times in the last 130 years. The first tabulating machine was electromechanical. It was first introduced by Herman Hollerith’s company in 1890, and in fact these business machines put the BM in IBM. They could do limited digital processing on data provided to them via punched cards. An operator would program them with jumper wires and plugs on a pin board, telling the electricity where to flow and thereby which calculations to carry out. Let’s call this programming approach the Zeroth Generation Language, or 0GL.

The first large computers that followed borrowed Joseph Jacquard’s loom approach from 1803, using a defined instruction set encoded by ones and zeros; these were the First Generation Languages (1GL). Often they were implemented by giant roles of black tape with holes, a technology dating back to Basile Bouchon in 1725. The computing power was limited, but the only limit to the size of your application was how much tape your roles could hold.

The Second Generation (2GL) assembly languages increased human usability by replacing 0’s and 1’s with symbolic names. But in fact this was a small paradigm change, because these languages were just as tied to their hardware as were the wires in the tabulating machines 50 years before them.

The next great jump was FORTRAN (in 1957) and COBOL (in 1959). These languages were more human-readable than assembly, but that was not the key point. The key point was abstraction, achieved via machine-dependent compilers, so that one FORTRAN or COBOL application would presumably give the same answers on any machine on which it was run.

The transition to Fourth Generation Languages (4GL) was all about a leap in usability. Invented around 1970, SQL is the most notable example, using a human-like syntax: you tell it what you want, and it figures out how to get it. Despite its age it’s never been replaced and remains the gold standard for interacting with relational databases today.

Many computer scientists argue that the newest Low-Code/No-Code programming environments, such as Microsoft PowerApps, are the latest addition to the 4GL cadre since they similarly require little knowledge of traditional programming structures. This paradigm is exploding in popularity and transforming the enterprise IT landscape: business users (not IT professionals) create ephemeral applications to solve specific and often short-term business problems. But how ironic that with their GUIs and controls and connectors, they are the modern digital equivalents of the 0GL tabulating machine pin boards from 130 years ago!

Some people have argued there are now Fifth Generation Languages (5GL), used for artificial intelligence and machine learning, where the focus is on the results expected, not on how to achieve them.

From coding by hand to AI collaboration

The evolution of 0GL to 5GL is all about the leaps in how humans interact with machines. But not unsurprisingly, the advent of ChatGPT (and its cousins like Bard and GitHub Co-Pilot) has brought about a new paradigm in how we develop applications. As the new generation of college computer science students now well know, you don’t have to write your own Java/PHP/Python… code anymore; instead, you can ask ChatGPT to write it for you. Or for example, you can feed ChatGPT buggy code or code lacking in quality, and ask it to remedy the situation, or to create the tests and documentation. To be sure, there are limits, and a good human understanding of the language is essential to avoid errors and ensure you get the results you want. But the technology is advancing rapidly, its limits are contracting, and the degree of user-needed corrections shrinks every day.

If we project this situation forward – even just a bit – its ludicrousness becomes self-evident: humans asking AIs to create human-readable code for humans that no longer need to read the code! This paradox underscores a new era where the traditional roles of human programmers are not just assisted but fundamentally altered by artificial intelligence; it marks a significant evolution in computational development.

With Artificial intelligence now a key player in the realm of code creation, we need to examine its repercussions on this craft. This present state may be the start of a larger change, where artificial intelligence becomes a collaborative partner in code creation and the relationship between developer and programming tool is increasingly indistinct – in other words, a symbiosis of human creativity and computational power.