HackerTrans
TopNewTrendsCommentsPastAskShowJobs

canucker2016

no profile record

Submissions

Trump may be mystery patient in case of 79yo getting experimental obesity drug

arstechnica.com
11 points·by canucker2016·18 gün önce·13 comments

[untitled]

7 points·by canucker2016·19 gün önce·0 comments

CBC will no longer air NHL games in 'end of an era' as broadcast deal expires

cbc.ca
12 points·by canucker2016·24 gün önce·2 comments

The Slate Truck's price may have leaked, starts at $24,950

arstechnica.com
4 points·by canucker2016·24 gün önce·2 comments

The Fitbit Air is a good wearable weighed down by a chatty AI "coach"

arstechnica.com
2 points·by canucker2016·geçen ay·0 comments

Roku OS's home screen now features a large, permanent ad

arstechnica.com
7 points·by canucker2016·geçen ay·1 comments

Driving Porsche's most powerful car–and no, it's not a 911

arstechnica.com
2 points·by canucker2016·2 ay önce·0 comments

Walmart shopper found $3 shoes, then paid 6 times the price at checkout

nypost.com
5 points·by canucker2016·2 ay önce·3 comments

Dmitry Senin - I escaped Vladimir Putin in the belly of a dead cow

telegraph.co.uk
5 points·by canucker2016·2 ay önce·3 comments

The 2-Hour Marathon Barrier Gets Smashed. Is It the Shoes–Or the Sugar?

wsj.com
1 points·by canucker2016·2 ay önce·3 comments

10-day training cycle that Sabastian Sawe used to run a sub-2 marathon

runnersworld.com
3 points·by canucker2016·2 ay önce·3 comments

US falls below Ukraine in press freedom as global autocracy takes hold

arstechnica.com
27 points·by canucker2016·2 ay önce·4 comments

Joby flies first point-to-point air taxi flight tests in New York

reuters.com
3 points·by canucker2016·2 ay önce·0 comments

Canada govt plans crypto ATM ban to stop scammers from defrauding Canadians

cbc.ca
4 points·by canucker2016·2 ay önce·1 comments

AMD's Lemonade SDK 10.3 Now 10x Smaller by Getting Rid of Electron

phoronix.com
38 points·by canucker2016·2 ay önce·5 comments

Two Athletes Break Sub-2-HR Marathon in Adizero Adios Pro Evo 3

news.adidas.com
75 points·by canucker2016·3 ay önce·1 comments

White House Correspondents' Dinner shooting suspect worked as California teacher

cnn.com
4 points·by canucker2016·3 ay önce·3 comments

Florida surgeon charged with killing man after removing liver instead of spleen

arstechnica.com
66 points·by canucker2016·3 ay önce·30 comments

Sony killing features for antenna, set-top box users of Bravia smart TVs in May

arstechnica.com
9 points·by canucker2016·3 ay önce·0 comments

'Project Hail Mary' Directors Announce In-Theater Director Commentary Track

thatparkplace.com
3 points·by canucker2016·3 ay önce·3 comments

comments

canucker2016
·20 gün önce·discuss
I think PCDOS/MSDOS copied CP/M's use of CRLF for line separator.

Some believe Gary Kildall picked CRLF for CP/M since he used DEC TOPS-10 to develop CP/M. see https://www.quora.com/Why-did-CP-M-stick-with-the-CR-LF-stan...
canucker2016
·20 gün önce·discuss
HN just had a post about the craigslist founder donating over half billion dollars to charity. see https://news.ycombinator.com/item?id=48588216
canucker2016
·22 gün önce·discuss
The spec, i assume you mean iCalendar, came later.
canucker2016
·22 gün önce·discuss
It seems to be called the Rule of 3. see https://en.wikipedia.org/wiki/Rule_of_three_(writing)

Like Caesar's supposed "Veni Vidi Vici" saying, people seem to prefer and remember items when grouped in three.

I recall a public speaking film shown to my management science class starring John Cleese mentioning this rule of 3.
canucker2016
·23 gün önce·discuss
The article mentions that new Outlook uses a Webview2 control as the UI. You can call it JS/Webview.

Similar to Electron, but using an MS Edge browser window control as the webview control instead of Google Chrome.

It's lighter weight than Electron, if you consider that Webview2 ships with Windows and is shared with other Webview2 consumers as opposed to Electron apps which each ship with their own self-contained web browser.
canucker2016
·23 gün önce·discuss
Schedule+ had the concept of exceptions to a recurring appointment (RA) - meetings that didn't follow the recurring pattern (e.g. every week on thursday at 4pm).

This was exposed through the UI by letting the user adjust the date & time for the RA instance (e.g. move this week's thursday 4pm meeting to 2pm) via drag-drop or editing the RM instance and change the time in the appt dialog.

So I assume with Outlook you could schedule a recurring appt for the common case - weekly appt on wednesday at 1PM. Adjust as your needs require - no meeting needed? Delete this week's instance. Need to move the meeting earlier or later? Go and reschedule this week's instance.

Obviously wouldn't work if you needed two meetings in a week.
canucker2016
·23 gün önce·discuss
Since Classic Outlook was developed in the glory days of OLE2.0, it's got OLE Automation baked in. VB and JScript code can access emails and appointments and perform relevant operations on those objects.
canucker2016
·23 gün önce·discuss
For early history about Active Directory, you can't get much better than straight from the horse's mouth ( manager of the Exchange / Active Directory group ).

see https://hardcoresoftware.learningbyshipping.com/p/021-expand...

and

https://hardcoresoftware.learningbyshipping.com/p/bonus-the-...
canucker2016
·23 gün önce·discuss
Microsoft Schedule+ was Microsoft's workgroup calendaring app before the Office division merged email and calendar into one app.

Outlook was late so Schedule+ was included in Office 95 for the Win95 release and so Schedule+ got a wider retail consumer release than if it had been just included with the Microsoft Exchange Server 4.0 release.

from https://www.reddit.com/r/software/comments/v73bk7/microsoft_...

  I've been using Schedule+ 95 to keep track of my daily activities since forever. I even modified my Windows install to keep it fully compatible after WinHlp32 was nixed in Windows 10. However, it is increasingly showing its age, and there are certain aspects where I would prefer a more modern solution; I can't integrate Sched+ with my smart phone easily ...

  I'm explicitly NOT looking for any cloud or web apps. I don't have reliable internet nor are all of my daily use machines fast enough to reliably, and responsively, display 90% of the bloated webapps out there. I want something lean, fast, and native for the desktop. Schedule+ uses a max of about 7MB of RAM and I don't want to go over 10-20.

7MB RAM is a lot when Win95 was designed for a 80386 with 4MB RAM. But a modern day x86 (okay, x64) with 8GB, that's about 0.1% of total RAM.
canucker2016
·23 gün önce·discuss
FTA:

  The CBC, which began televising NHL games in 1952, had operated under that agreement since Rogers Sportsnet acquired the league’s Canadian rights in 2013 for $5.2 billion.
canucker2016
·24 gün önce·discuss
In the USA, women initiate divorce proceedings ~70% of the time. see https://www.bbc.com/worklife/article/20220511-why-women-file...
canucker2016
·25 gün önce·discuss
It's more likely that one dev wrote the draw-cell code.

Another dev who's fixing a bug, realizes if they call a certain function either directly or indirectly, their particular bug gets fixed.

Oh, and as a side effect, the cell gets erased (again).

A few more fixes/new features added like this and the code is inadvertently erasing the same cell multiple times.

It takes a certain type of dev to step through in a debugger and Notice the app is doing way too much work and then to untangle the mess of code without causing regressions.
canucker2016
·25 gün önce·discuss
And Android 11+ has been doing similar userspace stack-init thing - https://android-developers.googleblog.com/2020/06/system-har...
canucker2016
·25 gün önce·discuss
I was looking through the compiler docs about memory allocation and I found the section about the debug version of the CRT which could fill the allocated memory with a non-zero canary value to help detect uninitialized memory (assuming you weren't calling calloc - which zero-init's allocated memory).

But there wasn't any similar programmatic debugging aid for detecting uninitialized stack memory.

Going further down the rabbit hole, I discovered the _chkstk function.

The MS C compiler would emit a call to _chkstk on function entry to ensure that stack memory had been paged in. But further reading noted that _chkstk was only emitted if the function allocated a lot of stack memory. And there was source code! MS included the assembly language source code for _chkstk in the CRT source code, installed with compiler.

I needed _chkstk to be emitted for every function not only for functions that allocated >= 4KB of stack variables.

Curses, foiled again.

Then, while perusing the list of compiler command line switches, I see "/Ge".

  /Ge (Enable Stack Probes)

  Activates stack probes for every function call that requires storage for local variables.
Ahhhhh! The grey, storm clouds parted and the sun rays bathed shone down on me in their warmth.

I had all the pieces I needed to fill uninitialized stack memory with a non-zero canary value so I could make detection of uninitialized stack variables more reliable.

_stkfil was born

Modifying _chkstk was easy. I needed to write to every byte of stack in a stack page instead of reading only 4 bytes and skipping to the next page of stack.

While I was mucking in the bowels of modifying _chkstk, I added a 4-byte global variable to hold my canary value. Let the app override what value to use.

In debug builds, _stkfil helped find a couple of bugs, but soon all the stray uninited stack vars were gone and the code was forgotten.

Then I read about InitAll in https://www.microsoft.com/en-us/msrc/blog/2020/05/solving-un...

  InitAll - Automatic Initialization

  In addition to the previously mentioned approaches, Microsoft is now using a feature known as InitAll which performs automatic compile-time initialization of stack variables.

  This section documents how Windows is using this technology and the rationale for why.

  Current Windows Settings

  The following types are automatically initialized:

  - Scalars (arrays, pointers, floats)
  - Arrays of pointers
  - Structures (plain-old-data structures)

  The following are not automatically initialized:

  - Volatile variables
  - Arrays of anything other than pointers (i.e. array of int, array of structures, etc.)
  - Classes that are not plain-old-data

  For optimized retail builds, the fill pattern is zero. For floats the fill pattern is 0.0.

  For CHK builds or developer builds (i.e. unoptimized retail builds), the fill pattern is 0xE2. For floats the fill pattern is 1.0.
canucker2016
·geçen ay·discuss
It's not impossible - in Ontario, it required a law. Resale ticket prices capped at original ticket face value.

see https://www.cbc.ca/news/business/ontario-ticket-resale-cap-e...
canucker2016
·geçen ay·discuss
I'm not disputing your point.

I'm explaining why the infinite loop actually occurs for those who haven't encountered the problem.

The problem would happen for an array whose beginning element starts at offset 0 for a particular segment and an iteration stop condition that uses ">= 0th element" that scans down the array. I used a 64K allocated array to ensure that the array base would match offset 0.

Problem would also occur if the end of the array aligns with the segment limit and the iteration end condition was "<= end element" and the scan moves up the array.

For either situation, the array could be < 64KB. One byte would be sufficient.
canucker2016
·geçen ay·discuss
None of my college CS courses used programming languages that featured FAR pointers.

The above example would cause an infinite loop on Win16's seg:off far memory model, but compiling on Win32 would not cause an infinite loop.

Problem is that far pointers only affect the offset, not the segment. So decrementing a 0 value offset would just wrap around to 0xFFFF and the segment would stay the same, so you're going from mem[0] to mem[65535] not mem[-1].
canucker2016
·geçen ay·discuss
You just had to live with the constraints.

It biased your selection of data structures and algorithms.

Max 64KB array size meant pointers to allocated structs and linked lists were much more popular back then versus 1 large array of structs.

The Win16 HANDLE memory allocation also meant you had to worry about how you handle structs which had pointers to others structs (a FAR ptr may not be a stable value, unless you locked the HANDLE for the duration of the allocation)

Then you had to worry about stuff that no college programming book talked about (ignore the lack of error checking):

  char FAR *p;
  char FAR *mem = farmalloc(65536);

  for (p = &mem[65535]; p >= &mem[0]; p--) {
    dostuff(p);
  }
Welcome to an infinite loop...
canucker2016
·geçen ay·discuss
But like real-mode Windows, the Macintosh OS was designed with small amounts of RAM. 32K limits pop up in various APIs. Handle memory allocation.

Not as much of a strait jacket as Windows segmented-memory programming, but compared to Unix, it did feel constricting.
canucker2016
·geçen ay·discuss
University students are predominantly female in Israel as in North America, so female education isn't a differentiator for fertility rate.

I recall reading an article about the culture of Israel is friendlier towards families/young children. Not sure how that cultural aspect would show up in stats.