browse by category or date

This post is my summary of a talk taken from NDC 2020 London titled “Lowering in C#: What’s really going on in your code?” by David Wengier. Full YouTube video is embedded at the bottom of this post.

So, what is “lowering” ?

After finished watching the video, I think I have different opinion. I propose a new definition, and you can quote me on this 😛

“Lowering” is the art of sacrificing code readability
for the sake of squeezing out tiny performance improvement.

Or in the more specific C# context:

“Lowering” is the art of programming like it was in
Visual Studio Professional 2008 using Visual Studio Professional 2019 😀

In more serious note. The video is very good source of information to know, that some modern C# language advancement is actually a “wrapper” to encapsulate a complex/tedious steps, and make it easier to use in lesser lines of code.

Full video below:



GD Star Rating
loading...

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.

Possibly relevant:

Updates on possible new COVID-19 cluster:

[Sent by Gov.sg – 28 Feb]

COVID-19: Students and schools
A Year 1 student from Raffles Institution (RI) tested positive for COVID-19 on 27 Feb.

Precautions at RI:
– School suspended on 28 Feb for thorough cleaning and disinfecting
– 14-day Leave of Absence for students and staff who had recent contact with student
– CCAs suspended for 2 weeks
– Contact tracing is ongoing
More: go.gov.sg/covid19-RI

Additional precautions all schools have in place
– Large group and external activities suspended
– Staggered recess times
– School-based CCAs and after-school programmes continue in smaller groups
More precautions: go.gov.sg/covid19-MOE

Students reminded to:
– Practise good personal hygiene, washing their hands frequently with soap
– See a doctor if sick, and stay home. Only return to school when fully recovered

Update on number of confirmed and discharged status:

[Sent by Gov.sg – 28 Feb]

COVID-19: 28 Feb Update
As of 12pm:
New cases: 2
Total confirmed: 98
Discharged today: 3
Total discharged: 69
Total still in hospital: 29

The 2 cases are linked to a new cluster.
Most in hospital are stable or improving. 7 are in the intensive care unit – 1 less than yesterday.

Go.gov.sg/moh28feb

RI to reopen on Mon
– The school was suspended for cleaning of premises on 28 Feb, and will reopen on Mon, 2 Mar
– Those recently in contact with the student in school will continue their Leave of Absence
– Other precautionary measures, such as a 2-week suspension of CCAs, are also in place
– MOE has whole-system measures to limit exposure in the event that a staff/student gets infected
More: Go.gov.sg/covid19-RI

Helping those affected by COVID-19
Range of measures to help workers, SMEs, families and sectors most affected by COVID-19: Go.gov.sg/overcoming

Stay safe everyone!

GD Star Rating
loading...

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.

Possibly relevant:

Recently I was editing my Complete Singapore-Indonesia Ferry Schedule JSON data when I encountered a bug. I was editing an array of objects which is the property value of the parent JSON object. In JSON Table Editor terms, this means I am operating on a child window. Tired of scrolling ups and downs, I filtered the rows. I then edit some of the rows, then confirmed my changes.

But when I clicked , only the filtered rows were saved to main object, which is wrong. Rightfully, all rows should be saved to the main JSON object.

After few rounds of trial and error trying to solve this bug, this is my final solution:

// checkedOpener = true if it's a child window
// grid = Ext.grid.Panel instance

if (checkedOpener && grid.filters.getFilterData().length>0) {
    // innerOutput = function to either output the grid's data into 
    // JSON output or updating parent JSON field value
    grid.on('filterchange', innerOutput);
    grid.filters.clearFilters();
}
else
    innerOutput(); 

That’s all folks. Cheers!

GD Star Rating
loading...

About Hardono

Howdy! I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 11 years.

Possibly relevant: