stg

bpostgroup Q3: These results evidence our need to reshape our domestic activities

bpostgroup has announced its third quarter 2024 results. EBIT decline reflects new Press contracts and North American pressure, partially offset by Staci’s contribution starting in August.




stg

justGood

Just Good Books Cheap Books




stg

Project-Based Learning in Online Postgraduate Education




stg

Exploring the Research Ethics Domain for Postgraduate Students in Computing




stg

Evaluating Critical Reflection for Postgraduate Students in Computing




stg

Curriculum Change and the Evolution of Postgraduate e-Business Subjects




stg

Fostering Self and Peer Learning Inside and Outside the Classroom through the Flipped Classroom Approach for Postgraduate Students

Aim/Purpose: The flipped classroom approach is one of the most popular active learning approaches. This paper explores the effectiveness of a new pedagogy, known as FOCUSED, for postgraduate students. Background: The flipped classroom approach is a trendy blended learning pedagogy which capitalizes on the flexibility of online learning and the stimulating nature of face-to-face discussion. This article describes a pilot study involving post-graduate students who experienced the flipped classroom approach in one of their courses. Methodology: In additional to online activities, students adopted a newly learned approach to solve a related problem that was given by another group of students during classes. Quantitative data were collected from pre- and post-tests for both self-learned online materials and group discussion during classes so that the effectiveness of the flipped classroom pedagogy could be examined from the perspective of a holistic learning experience. Findings: It was found that the average scores for the post-test for the self-learned online video were much higher than for pre-test, even though the post-tests for both online and face-to-face learning were higher than the respective pre-tests. The qualitative data collected at the end of the flipped classroom activities further confirmed the value of the flipped classroom approach. Even though students could self-learn, more students valued peer interactions in the classroom more than the flexibility of online learning.




stg

Over Mountain Tops and Through the Valleys of Postgraduate Study and Research: A Transformative Learning Experience from Two Supervisees’ Perspectives

Aim/Purpose: The purpose of this paper is to illuminate the learning that happens in assuming a supervisee’s role during the postgraduate study. Background: The facilitators and barriers students encountered while pursuing postgraduate studies, strategies to achieve success in postgraduate studies, and how to decrease attrition rates of students, have been sufficiently explored in literature. However, there is little written about the personal and professional impact on students when they are being supervised to complete their postgraduate studies. Methodology: Autoethnographic method of deep reflection was used to examine the learning that transpired from the supervisee’s perspective. Two lecturers (a Senior Lecturer in Nursing and an Aboriginal Tutor) focused on their postgraduate journeys as supervisees, respectively, with over 30 years of study experience between them, in Australia and abroad. Contribution: Future postgraduate students, researchers, would-be supervisors and experienced supervisors could learn from the reflections of the authors’ postgraduate experiences. Findings: Four themes surfaced, and these were Eureka moments, Critical friend(s), Supervisory relationship, and Transformative learning. The authors highlighted the significance of a supervisory relationship which is key to negotiating the journey with the supervisor. Essential for these students also were insights on finding the path as well as the destination and the transformative aspects that happened as a necessary part of the journey. Conclusion. The postgraduate journey has taught them many lessons, the most profound of which was the change in perspective and attitude in the process of being and becoming. Personal and professional transformative learning did occur. At its deepest level, the authors’ reflections resulted in self-actualization and a rediscovery of their more authentic selves. Recommendations for Practitioners: This article highlights the importance of the supervisory relationship that must be negotiated to ensure the success of the candidate. Reflections of the transformation are recommended to support the students further. Recommendation for Researchers: Quality supervision can make a significant influence on the progress of students. Further research on the supervisory relationship is recommended. Impact on Society: The support in terms of supervision to ensure postgraduate students’ success is essential. Postgraduate students contribute to the human, social, professional, intellectual, and economic capital of universities and nations globally. Future Research: Further reflections of the transformative learning will advance the understanding of the personal and professional changes that occur with postgraduate supervision.




stg

Experiences in Building and Using Decision-Support Systems in Postgraduate University Courses




stg

Using Research Techniques to Teach Management of IT Concepts to Postgraduate Business Students




stg

Performance Expectancy, Effort Expectancy, and Facilitating Conditions as Factors Influencing Smart Phones Use for Mobile Learning by Postgraduate Students of the University of Ibadan, Nigeria

Aim/Purpose: This study examines the influence of Performance Expectancy (PE), Effort Expectancy (EE), and Facilitating Conditions (FC) on the use of smart phones for mobile learning by postgraduate students in University of Ibadan, Nigeria. Background: Due to the low level of mobile learning adoption by students in Nigeria, three base constructs of the Unified Theory of Acceptance and Use of Technology (UTAUT) model were used as factors to determine smart phone use for mobile learning by the postgraduate students in the University of Ibadan. Methodology: The study adopted a descriptive survey research design of the correlational type, the two-stage random sampling technique was used to select a sample size of 217 respondents, and a questionnaire was used to collect data. Descriptive statistics (frequency counts, percentages, mean, and standard deviation), test of norm, and inferential statistics (correlation and regression analysis) were used to analyze the data collected. Contribution: The study empirically validated the UTAUT model as a model useful in predicting smart phone use for mobile learning by postgraduate students in developing countries. Findings: The study revealed that a significant number of postgraduate students used their smart phones for mobile learning on a weekly basis. Findings also revealed a moderate level of Performance Expectancy (???? =16.97), Effort Expectancy (???? =12.57) and Facilitating Conditions (???? =15.39) towards the use of smart phones for mobile learning. Results showed a significant positive relationship between all the independent variables and use of smart phones for mobile learning (PE, r=.527*; EE, r=.724*; and FCs, r=.514*). Out of the independent variables, PE was the strongest predictor of smart phone use for mobile learning (β =.189). Recommendations for Practitioners: Librarians in the university library should organize periodic workshops for postgraduate students in order to expose them to the various ways of using their smart phones to access electronic databases. Recommendation for Researchers: There is a need for extensive studies on the factors influencing mobile technologies adoption and use in learning in developing countries. Impact on Society: Nowadays, mobile learning is increasingly being adopted over conventional learning systems due to its numerous benefits. Thus, this study provides an insight into the issues influencing the use of smart phones for mobile learning by postgraduate students from developing countries. Future Research: This study utilized the base constructs of the UTAUT model to determine smart phone use for mobile learning by postgraduate students in a Nigerian university. Subsequent research should focus on other theories to ascertain factors influencing Information Technology adoption and usage by students in developing countries.




stg

Handling Spelling Mistakes with Postgres Full Text Search

Background #

Postgres Full Text Search (FTS) is a great way to implement site search on a website running Postgres already, without requiring additional infrastructure.

On a recent engagement with a client, we were deciding between Postgres FTS and ElasticSearch. Ultimately we chose FTS because we could spin it up without having to add extra infrastructure, as we would with ElasticSearch.

Since the project was written in Ruby on Rails, we were able to use the excellent PgSearch gem to implement FTS in ActiveRecord.

Multisearch #

As we wanted a general site search, we needed to utilize multisearch. Multisearch combines multiple ActiveRecord models into one search 'document' table that you can search against. For example, if a user searches for some search term, and the search is configured for multisearch, then every single model that we mark as multisearchable will be searched for that term at the same time. See here for more detail.

Search Features #

PgSearch allows for different search features, tsearch, trigram, and dmetaphone. The default is tsearch, which uses the built-in Postgres Full Text Search.

This was great for our use case, since it also comes with highlighting, a feature that was required. The highlighting is from a field returned by Postgres FTS, where it returns the text around the search term for context and bolds the search terms.

Spelling Mistakes #

Unfortunately, tsearch does not handle misspelled words. However, as I mentioned before, PgSearch allows for other search features!

And trigram is a feature that can be installed via a Postgres extension (pg_trgm) that does just that.

Trigram #

  • The idea behind trigram search is to split pieces of text into sets of three-letter segments, and compare the sets to one another
  • If two trigram sets are similar enough, we assume there was a spelling mistake, and return the document with the correctly-spelled term.
  • As a quick example (ignoring whitespace): Consider the word Viget. Viget would make trigrams:
[vig, ige, get]
  • Now, consider our evil twin agency, Qiget. They would make trigrams
[qig, ige, get]
  • The two trigram sets match very closely, with only one of the trigrams not being the same. Thus, if we were to compare these with pg_trgm, we could reasonably tell that anyone typing 'Qiget' must have been actually looking for 'Viget', and just misspelled it.

Working Trigram into our existing solution #

PgSearch allows us to use multiple search features at once, so we can use tsearch and trigram side by side. Note that we cannot just replace tsearch with trigram due to needing some features in tsearch that are exclusive to it. Here is what an example configuration might look like.

PgSearch.multisearch_options = {
  using: {
    tsearch: {
      prefix: true,
      highlight: {
        MaxFragments: 1
      }
    },
    trigram: { 
      only: [:content]
    }
  }
}

Trigram (and timelines) causing issues #

While it was easy to slot Trigram into our multisearch, it caused a pretty serious performance hit. We were seeing 50x-75x slower searches with both features combined than with just tsearch. We needed to find a way to balance performance with handling misspellings

At the point that handling misspellings became prioritized, the entire search feature was almost fully QA'd and about ready to go out. There wasn't much time left in the budget to find a good solution for the issue.

This thread from the PgSearch repo sums it up pretty well – there were multiple other users that were/are having similar issues as we were. The top-rated comment in this thread is someone mentioning that the solution was to just use ElasticSearch ('top-rated' is doing a lot of heavy lifting. It did have the most likes...at two). We needed to find some sort of middle ground solution that we could act on quickly.

Postgres Documentation saves the day #

In the docs for the Trigram Postgres extension, the writers give an idea for using Trigram in conjunction with Full Text Search. The general idea is to create a separate words table that has a Trigram index on it.

Something like this worked for us. Note that we added an additional step with a temporary table. This was to allow us to filter out words that included non-alphabet characters.

execute <<-SQL
  -- Need to make a temp table so we can remove non-alphabet characters like websites
  CREATE TEMP TABLE temp_words AS
    SELECT word FROM ts_stat('SELECT to_tsvector(''simple'', content) FROM pg_search_documents');

  CREATE TABLE pg_search_words (
    id SERIAL PRIMARY KEY,
    word text
  );

  INSERT INTO pg_search_words (word)
    SELECT word
    FROM temp_words
    WHERE word ~ '^[a-zA-Z]+$';
  
  CREATE INDEX pg_words_idx ON pg_search_words USING GIN (word gin_trgm_ops);
  
  DROP TABLE temp_words;
SQL

This words table is therefore populated with every unique word that exists in your search content table. For us, this table was pretty large.

result = ActiveRecord::Base.connection.execute("SELECT COUNT(*) FROM pg_search_words").first['count']
puts result.first['count']
# => 1118644

Keeping the words table up-to-date #

As mentioned in the docs, this table is separate from your search table. Therefore, it needs to be either periodically regenerated or at least have any new words added to search content also added to this table.

One way to achieve this is with a trigger, which adds all new words (still filtering out non-alphabet characters) that are inserted into the documents table to the words table

create_trigger("pg_search_documents_after_insert_update_row_tr", generated: true, compatibility: 1)
  .on("pg_search_documents")
  .after(:insert, :update) do
  <<-SQL_ACTIONS
    CREATE TEMP TABLE temp_words AS
      SELECT word FROM ts_stat('SELECT to_tsvector(''simple'', ' || quote_literal(NEW.content) || ')');

    INSERT INTO pg_search_words (word)
      SELECT word
      FROM temp_words
      WHERE word ~ '^[a-zA-Z]+$';

    DROP TABLE temp_words;
  SQL_ACTIONS

end

Note that this does not handle records being deleted from the table – that would need to be something separate.

How we used the words table #

Assuming for simplicity the user's search term is a single word, if the search returns no results, we compare the search term's trigram set to the trigram index on the words table, and return the closest match.

Then, we'd show the closest match in a "Did you mean {correctly-spelled word}?" that hyperlinks to a search of the correctly-spelled word

Given more time, I would have liked to explore options to speed up the combined FTS and Trigram search. I'm certain we could have improved on the performance issues, but I can't say for sure that we could have gotten the search time down to a reasonable amount.

A future enhancement that would be pretty simple is to automatically search for that correctly-spelled word, removing the prompt to click the link. We could also change the text to something like "Showing results for {correctly-spelled word}".

Ultimately, I think with the situation at hand, we made the right call implementing Trigram this way. The search is just as fast as before, and now in the case of misspellings, a user just has to follow the link to the correctly-spelled word and they will see the results they wanted very quickly.




stg

Postgraduate Course in Clinical Pharmacology, Drug Development, and Regulation

Feb 20, 2025, 11am EST

The Tufts CSDD postgraduate course in clinical pharmacology, drug development, and regulation is the longest-running professional development program in the biopharma space. Now in its 52nd year, this unique annual course prepares both new and experienced drug developers, regulators, policy makers, clinical investigators, and academic researchers for success in the life sciences sector. Thousands of drug development professionals are alumni of this prestigious one-of-a-kind program. Top speakers from industry, academia, and the FDA share their expertise to create a highly stimulating and rewarding learning environment.

Location Details: Virtual event via Zoom
Open to Public: No
Primary Audience(s): Faculty, Postdoctoral Fellows, Staff, Students (Graduate)
Event Type: Conference/Panel Event/Symposium, Lecture/Presentation/Seminar/Talk
Subject: Career Development, Health/Wellness, Innovation, Medicine, Science
Event Sponsor Details: Tufts Center for the Study of Drug Development
Event Contact Name: Sarah Wrobel
Event Contact Emailsarah.wrobel@tufts.edu
RSVP Informationsecure.touchnet.net…
More infocsdd.tufts.edu…



  • 2025/02/20 (Thu)

stg

Postgraduate Course in Clinical Pharmacology, Drug Development, and Regulation

Feb 13, 2025, 11am EST

The Tufts CSDD postgraduate course in clinical pharmacology, drug development, and regulation is the longest-running professional development program in the biopharma space. Now in its 52nd year, this unique annual course prepares both new and experienced drug developers, regulators, policy makers, clinical investigators, and academic researchers for success in the life sciences sector. Thousands of drug development professionals are alumni of this prestigious one-of-a-kind program. Top speakers from industry, academia, and the FDA share their expertise to create a highly stimulating and rewarding learning environment.

Location Details: Virtual event via Zoom
Open to Public: No
Primary Audience(s): Faculty, Postdoctoral Fellows, Staff, Students (Graduate)
Event Type: Conference/Panel Event/Symposium, Lecture/Presentation/Seminar/Talk
Subject: Career Development, Health/Wellness, Innovation, Medicine, Science
Event Sponsor Details: Tufts Center for the Study of Drug Development
Event Contact Name: Sarah Wrobel
Event Contact Emailsarah.wrobel@tufts.edu
RSVP Informationsecure.touchnet.net…
More infocsdd.tufts.edu…



  • 2025/02/13 (Thu)

stg

Postgraduate Course in Clinical Pharmacology, Drug Development, and Regulation

Feb 6, 2025, 11am EST

The Tufts CSDD postgraduate course in clinical pharmacology, drug development, and regulation is the longest-running professional development program in the biopharma space. Now in its 52nd year, this unique annual course prepares both new and experienced drug developers, regulators, policy makers, clinical investigators, and academic researchers for success in the life sciences sector. Thousands of drug development professionals are alumni of this prestigious one-of-a-kind program. Top speakers from industry, academia, and the FDA share their expertise to create a highly stimulating and rewarding learning environment.

Location Details: Virtual event via Zoom
Open to Public: No
Primary Audience(s): Faculty, Postdoctoral Fellows, Staff, Students (Graduate)
Event Type: Conference/Panel Event/Symposium, Lecture/Presentation/Seminar/Talk
Subject: Career Development, Health/Wellness, Innovation, Medicine, Science
Event Sponsor Details: Tufts Center for the Study of Drug Development
Event Contact Name: Sarah Wrobel
Event Contact Emailsarah.wrobel@tufts.edu
RSVP Informationsecure.touchnet.net…
More infocsdd.tufts.edu…



  • 2025/02/06 (Thu)

stg

Postgraduate Course in Clinical Pharmacology, Drug Development, and Regulation

Jan 30, 2025, 11am EST

The Tufts CSDD postgraduate course in clinical pharmacology, drug development, and regulation is the longest-running professional development program in the biopharma space. Now in its 52nd year, this unique annual course prepares both new and experienced drug developers, regulators, policy makers, clinical investigators, and academic researchers for success in the life sciences sector. Thousands of drug development professionals are alumni of this prestigious one-of-a-kind program. Top speakers from industry, academia, and the FDA share their expertise to create a highly stimulating and rewarding learning environment.

Location Details: Virtual event via Zoom
Open to Public: No
Primary Audience(s): Faculty, Postdoctoral Fellows, Staff, Students (Graduate)
Event Type: Conference/Panel Event/Symposium, Lecture/Presentation/Seminar/Talk
Subject: Career Development, Health/Wellness, Innovation, Medicine, Science
Event Sponsor Details: Tufts Center for the Study of Drug Development
Event Contact Name: Sarah Wrobel
Event Contact Emailsarah.wrobel@tufts.edu
RSVP Informationsecure.touchnet.net…
More infocsdd.tufts.edu…



  • 2025/01/30 (Thu)

stg

SE-Radio Episode 328: Bruce Momjian on the Postgres Query Planner

Postgres developer Bruce Momjian joins Robert Blumen for a discussion of the SQL query optimizer in the Postgres RDBMS. They delve into the internals of query planning and look at how developers can make it work for their apps.




stg

SE-Radio Episode 362: Simon Riggs on Advanced Features of PostgreSQL

Simon Riggs, founder and CTO of 2nd Quadrant, discusses the advanced features of the Postgres database, that allow developers to focus on applications whilst the database does the heavy lifting of handling large and diverse quantities of data.




stg

Episode 454: Thomas Richter Postgres as an OLAP database

Thomas Richter is the founder of Swarm64, a Postgres extension company designed to boost performance of your Postgres instance. This episode examines the internals of Postgres, performance considerations, and relational database types.




stg

Episode 496: Bruce Momjian on Multi-Version Concurrency Control in Postgres (MVCC)

This week, Postgres server developer Bruce Momjian joins host Robert Blumen for a discussion of multi-version concurrency control (MVCC) in the Postgres database. They begin with a discussion of the isolation requirement in database transactions (I in ACID); how isolation can be achieved with locking; limitations of locking; how locking limits concurrency and creates variability in query runtimes; multi-version concurrency control as a means to achieve isolation; how Postgres manages multiple versions of a row; snapshots; copy-on-write and snapshots; visibility; database transaction IDs; how tx ids, snapshots and versions interact; the need for locking when there are multiple writers; how MVCC was added to Postgres; and how to clean up unused space left over from aged-out versions.




stg

Episode 511: Ant Wilson on Supabase (Postgres as a Service)

Ant Wilson of Supabase discusses building an open source alternative to Firebase with PostgreSQL. SE Radio host Jeremy Jung spoke with Wilson about how Supabase compares to Firebase, building an API layer with postgREST, authentication using GoTrue...




stg

SE Radio 583: Lukas Fittl on Postgres Performance

Lukas Fittl of pganalyze discusses the performance of Postgres, one of the world’s most popular database systems. SE Radio host Philip Winston speaks with Fittl about database indexing, queries, maintenance, scaling, and stored procedures. They also discuss some features of pganalyze, such as the index and vacuum advisors.




stg

PHP CRUD Operations with PostgreSQL Server

CRUD (Create, Read, Update, and Delete) operations are used in the web application for the data manipulation in the database. There are four basic operations involved in the CRUD functionality that help to manage data with the database. We have already shared the tutorial to perform create (insert), read (select), update, and delete operations in PHP CRUD Operations with MySQL. In this tutorial, we will build PHP CRUD application with PostgreSQL server. PostgreSQL also known as Postgres is a relational database management system (RDBMS). The PostgreSQL database is open-source and free to use. We will connect with the PostgreSQL Server

The post PHP CRUD Operations with PostgreSQL Server appeared first on CodexWorld.




stg

Rails, Angular, Postgres, and Bootstrap : powerful, effective, and efficient full-stack web development

Location: Engineering Library- QA76.76.D47C6675 2016




stg

Don't Do This - PostgreSQL wiki




stg

What I Wish Someone Told Me About Postgres




stg

De 7 meestgemaakte fouten bij een gebruiksvriendelijke website [+ tips]

Je website is in deze tijd vaak de plek waar potentiële klanten een eerste indruk van je krijgen. En zoals ze zeggen: de eerste indruk is enorm belangrijk. Een gebruiksvriendelijke website kan het verschil maken tussen een klant die bij jou blijft of verder zoekt naar een concurrent. Helaas worden er nog steeds veel fouten […]




stg

Kaputter US-Journalismus, Streit um § 353d StGB, Grönemeyer vs. CDU

1. “Wir müssen uns von der Vorstellung lösen, dass Journalismus gleichbedeutend mit Content ist” (journalist.de, Leif Kramp & Stephan Weichert) Bei journalist.de ist ein lesenswertes Interview mit dem US-amerikanischen Journalismus-Experten Jeff Jarvis erschienen, der gleich in der ersten Antwort ziemlich direkt wird: “Während wir die US-Wahlen durchlaufen, frage ich mich, ob es Zeit ist, den […]



  • 6 vor 9

stg

Problem Notes for SAS®9 - 66505: The OBS= option does not generate a limit clause when you use SAS/ACCESS Interface to PostgreSQL to access a Yellowbrick database

When you use SAS/ACCESS Interface to PostgreSQL to query a Yellowbrick database, the SAS OBS= option is not generating a limit clause on the query that is passed to the database. Click the



stg

Royal College of Surgeons launches postgraduate surgical certificate




stg

Micah Parsons insists he wasn't throwing "Mike McCarthy under the bus" with postgame comments

Cowboys edge rusher Micah Parsons pushed back against the perception he was taking a shot at coach Mike McCarthy in his postgame comments Sunday.




stg

Sathyabama Institute of Science and Technology holds 33rd convocation; 3,508 undergraduate students, 644 postgraduate students, and 122 Ph.D. scholars receive degrees

45 students awarded gold medals for their academic performance




stg

Kleine Telegraphen-Schule für Postanwärter und Postgehülfen: ein Hülfsbuch zum Selbstunterricht behufs Erlangung des Befähigungs-Zeugnisses für den technischen Telegraphendienst bei vereinigten Verkehrsämtern: mit 100 er

Archives, Room Use Only - TK5262.K54 1897




stg

Timeshare Sales Rep Files Collective Action Lawsuit Against Central Florida Investments, Inc., Westgate Resorts, Inc. and Westgate Marketing, LLC

Complaint alleges that Westgate misclassified its timeshare sales reps as "independent contractors," rather than employees, and denied them overtime compensation.




stg

Beekeeper Studio | Free SQL editor and database manager for MySQL, Postgres, SQLite, and SQL Server. Available for Windows, Mac, and Linux.




stg

Fire In One Of The Remand Cells At Westgate

[Updated] There was a fire in one of the remand cells at the Westgate Correctional Facility this morning [March 10], with the fire extinguished by Corrections Officers, while the BF&RS “attended to ensure the safety and security of the area.” Minister of National Security Wayne Caines said, “First and foremost I want to thank the swift actions […]

(Click to read the full article)




stg

Wimpie Nortje: Database migration libraries for PostgreSQL.

It may be tempting at the start of a new project to create the first database tables manually, or write SQL scripts that you run manually, especially when you first have to spend a significant amount of time on sifting through all the migration libraries and then some more to get it working properly.

Going through this process did slow me down at the start of the project but I was determined to use a migration tool because hunting inexplicable bugs that only happen in production just to find out there is a definition mismatch between the production and development databases is not fun. Using such a tool also motivates you to write both the setup and teardown steps for each table while the current design is still fresh in your mind.

At first I considered a standalone migration tool because I expect them to be very good at that single task. However, learning the idiosyncrasies of a new tool and trying to make it fit seamlessly into my development workflow seemed like more trouble than it is worth.

I decided to stick with a Common Lisp library and found the following seven that work with PostgreSQL and/or Postmodern:

I quickly discounted Crane and Mito because they are ORM (Object Relational Mapper) libraries which are way more complex than a dedicated migration library. Development on Crane have stalled some time ago and I don't feel it is mature enough for frictionless use yet. Mito declares itself as being in Alpha state; also not mature enough yet.

I only stumbled onto cl-mgr and Orizuru-orm long after making my decision so I did not investigate them seriously. Orizuru-orm is in any case an ORM which I would have discounted because it is too complex for my needs. CL-mgr looks simple, which is a good thing. It is based on cl-dbi which makes it a good candidate if you foresee switching databases but even if I discovered it sooner I would have discounted it for the same reason as CL-migrations.

CL-migrations looks very promising. It is a simple library focusing only on migrations. It uses clsql to interface with the database which bothered me because I already committed to using Postmodern and I try to avoid adding a lot of unused code to my projects. The positive side is that it interfaces to many different databases so it is a good candidate if you are not committed to using Postmodern. It is also a stable code base with no outstanding bug reports.

The two projects I focused on was Postmodern-passenger-pigeon and Database-migrations because they both use Postmodern for a database interface.

Postmodern-passenger-pigeon was in active development at the time and it seemed safer to use than Database-migrations because it can do dry runs, which is a very nice feature when you are upgrading your production database and face the possibility of losing data when things go awry. Unfortunately I could not get it working within a reasonable amount of time.

I finally settled on Database-migrations. It is a small code base, focused on one task, it is mature and it uses Postmodern so it does not pull in a whole new database interface into my project. There are however some less positive issues.

The first issue is a hindrance during development. Every time the migrations ASDF system (or the file containing it, as ASDF prefers that all systems be defined in a single file) is recompiled it adds all the defined migrations to the migrations list. Though each one will only be applied once to the DB it is still bothersome. One can then clear the list with (setf database-migrations::*migrations* nil) but then only newly modified migration files will be added. The solution then is to touch the .asd file after clearing the migrations list.

The second negative point is quite dangerous. The downgrade function takes a target version as parameter, with a default target of 0. This means that if you execute downgrade without specifying a target version you delete your whole database.

I am currently using Database-migrations and it works well for me. If for some reason I need to switch I will use cl-migrations.

Using Database-migrations

To address the danger of unintentionally deleting my database I created a wrapper function that does both upgrade and downgrade, and it requires a target version number.

Another practical issue I discovered is that upgrades and downgrades happen in the same order as they are defined in the migration file. If you create two tables in a single file where table 2 depends on table 1 then you can not revert / downgrade because Database-migrations will attempt to delete table 1 before table 2. The solution here is to use the def-queries-migration macro (instead of def-query-migration) which defines multiple queries simultaneously . If you get overwhelmed by a single definition that defines multiple tables the other option is to stick with one migration definition per file.




stg

Coastguard rescues soar despite Covid-19 lockdown

Crews attended 16 call outs across Scotland on the VE Day holiday as the number of UK rescues rose by 54%.




stg

Royal College of Surgeons launches postgraduate surgical certificate




stg

Die Farbenlehre im Hinblick auf Kunst und Kunstgewerbe / von Wilh. v. Bezold.

Braunschweig : G. Westermann, 1874.




stg

HostGator Web Hosting

HostGator is an excellent web hosting service that's simple to use and offers an array of useful plans for consumers and small businesses. It's our top pick for shared web hosting and for novice webmasters in general.





stg

Japan wards off Chinese coastguard vessels caught chasing fishing boat in East China Sea

Japan said it deployed patrols and issued warnings to a group of Chinese coastguard vessels spotted pursuing a Japanese fishing boat in the hotly contested waters of the East China Sea on Friday.The Japan Coast Guard said on Saturday that four Chinese coastguard vessels entered waters close to the Diaoyu Islands – a group of uninhabited islands controlled by Tokyo and known locally as known as Senkaku – at about 4pm.The face-off took place about 50 minutes later, when two of the Chinese vessels…




stg

Palliative care clinical rotations among undergraduate and postgraduate medical trainees in Canada: a descriptive study

Background:

The number of medical undergraduate and postgraduate students completing palliative care clinical rotations in Canadian medical schools is currently unknown. The aim of this study was to assess the proportion of Canadian medical trainees completing clinical rotations in palliative care and to determine whether changes took place between 2008 and 2018.

Methods:

In this descriptive study, all Canadian medical schools (n = 17) were invited to provide data at the undergraduate and postgraduate levels (2007/08–2015/16 and 2007/08–2017/18, respectively). Information collected included the number, type and length of palliative care clinical rotations offered and the total number of medical trainees or residents enrolled at each school.

Results:

All 17 Canadian medical schools responded to the request for information. At the undergraduate level, palliative care clinical rotations were not offered in 2 schools, mandatory in 2 and optional in 13. Three schools that offered optional rotations were unable to provide complete data and were therefore excluded from further analyses. In 2015/16, only 29.7% of undergraduate medical students completed palliative care clinical rotations, yet this was a significant improvement compared to 2011/12 (13.6%, p = 0.02). At the postgraduate level, on average, 57.9% of family medicine trainees completed such rotations between 2007/08 and 2016/17. During the same period, palliative care clinical rotations were completed by trainees in specialty or subspecialty programs in anesthesiology (34.2%), geriatric medicine (64.4%), internal medicine (30.9%), neurology (28.2%) and psychiatry (64.5%).

Interpretation:

Between 2008 and 2018, a large proportion of Canadian medical trainees graduated without the benefit of a clinical rotation in palliative care. Without dedicated clinical exposure to palliative care, many physicians will enter practice without vital palliative care competencies.




stg

Animal Crossing Is the Breath of the Wild Postgame I Always Dreamed Of

Strange as it may sound, Animal Crossing: New Horizons feels like where Breath of the Wild should have ended up gameplay-wise.




stg

UK coastguard urges people to stay home after increase in calls

Meanwhile police in London say they’re ‘losing the battle’ as people gather in parks despite coronavirus clockdown

The coastguard has urged the public not to ignore the government’s stay-at-home message after recording its highest number of distress calls in a single day since the lockdown began.

The rescue service said it dealt with 97 incidents on Friday, more than half the daily average over the previous month.

Continue reading...




stg

Downing Street says JustGiving will want to &apos;reflect&apos; on &apos;£300K fee&apos; for Captain Tom Moore&apos;s fundraiser

Downing Street has said JustGiving will want to "reflect" on fees taken for processing Captain Tom Moore's £32 million fundraiser for NHS charities.




stg

Coastguard records highest number of call-outs since lockdown began as people &apos;ignore&apos; stay-at-home advice




stg

Coastguard sees surge in call-outs as people flout lockdown rules

The Coastguard has said that on Friday it had the highest number of call-outs since lockdown began.




stg

100K House From Postgreen Wins LEED Project of the Year

I thought we were being edgy when we gave Interface Studio Architects the Best Residential Architect Award as part of Best of Green this year, but I could not help but love the 100K house. Evidently neither could the US Green