Interesting: Starting with Xcode 7, Apple made it possible to sideload apps on the iPhone, iPad, and Apple TV using a free Apple ID. Although a paid developer account is still required to deploy apps to the App…: How-To: Create a free Apple developer account for sideloading apps | 9to5Mac
How-To: Create a free Apple developer account for sideloading apps | 9to5Mac
Posted by jpluimers on 2017/02/16
Posted in Apple TV, Development, iOS, iOS Development, iPad, iPhone, iPod touch, Mobile Development, Power User, Software Development, xCode/Mac/iPad/iPhone/iOS/cocoa | Leave a Comment »
Intel SSD back to life success story (using Lin… |Intel Communities
Posted by jpluimers on 2017/02/15
As many of other guys who have experienced that, I woke up one morning with “Operating system not found” and BAD_CTX as serial number. I was thousands miles from home and I only had the laptop itself and Ubuntu Live CD. I immediately started reading this forum and found the following: – the
[WayBack] Intel SSD back to life success story (using Lin… |Intel Communities
–jeroen
Posted in Uncategorized | 1 Comment »
HashLib4Pascal is a Delphi/FPC compatible library that provides an easy to use interface for computing hashes and checksums of strings (with a specified encoding), files, streams, byte arrays and untyped data to mention but a few.
Posted by jpluimers on 2017/02/15
One day I will need lots of hashing in Delphi: Xor-el/HashLib4Pascal: HashLib4Pascal is a Delphi/FPC compatible library that provides an easy to use interface for computing hashes and checksums of strings (with a specified encoding), files, streams, byte arrays and untyped data to mention but a few. [WayBack]
via: Hello all,I made a port of “HashLib” (http://hashlib.codeplex.com/) “with some fixes, additions and modifications” for Delphi (2010 ( I hope ) and above)… – Ugochukwu Mmaduekwe – Google+ [WayBack]
It’s a port of the C# HashLib – Home [WayBack]
Another fork is at https://github.com/bonesoul/HashLib
–jeroen
Posted in .NET, C#, Delphi, Delphi 10 Seattle, Delphi 10.1 Berlin (BigBen), Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Delphi XE8, Development, Encoding, FreePascal, Pascal, Software Development | Leave a Comment »
Firebird – adjusting Delphi stored TDateTime (or OLE Automation date) fields that contain Dates, Times or DateTimes
Posted by jpluimers on 2017/02/15
Delphi programmers often store TDateTime (be it date, time or date+time values) as floating points in the database. They take the easy way out basically because TDateTime is nothing but a typed alias for the Delphi Double type (which is equivalent to the IEEE 754 double-precision binary floating-point format: binary64 type) .
Actually, TDateTime is equivalent to the OLE Automation date (which is described in the remarks of DateTime.ToOADate Method (System)) which has an epoch of midnight at 1899-12-30 (to be compatible with Lotus-123 including its leap-year-bug, background on that is at Why are the Microsoft Office file formats so complicated? (And some workarounds) – Joel on Software).
Anyway: the definition is this:
An OLE Automation date is implemented as a floating-point number whose integral component is the number of days before or after midnight, 30 December 1899, and whose fractional component represents the time on that day divided by 24. For example, midnight, 31 December 1899 is represented by 1.0; 6 A.M., 1 January 1900 is represented by 2.25; midnight, 29 December 1899 is represented by -1.0; and 6 A.M., 29 December 1899 is represented by -1.25.
The base OLE Automation Date is midnight, 30 December 1899. The minimum OLE Automation date is midnight, 1 January 0100. The maximum OLE Automation Date is the same as DateTime.MaxValue, the last moment of 31 December 9999.
The sample values are remarkably the same as the ones for TDateTime:
Value Description 0 December 30, 1899; 12:00 A.M. 2.75 January 1, 1900; 6:00 P.M. -1.25 December 29, 1899; 6:00 A.M. 35065 January 1, 1996; 12:00 A.M.
The below SQL example uses the Firebird date/time/timestamp casting shortcuts:
select date '1899-12-30' + 42452.670590278 as Date20160323,
timestamp '1899-12-30 00:00:00.000' + 42452.670590278 as DateTime20160323160539,
time '00:00:00' + 60*60*24 * 0.5 as Noon,
timestamp '1899-12-30 00:00:00.000' + 0 as DateTime18991230Midnight,
timestamp '1899-12-30 00:00:00.000' + 2.75 as DateTime190001011800,
timestamp '1899-12-30 00:00:00.000' + -1.25 as DateTime189912290600,
timestamp '1899-12-30 00:00:00.000' + 35065 as DateTime19960101Midnight
from rdb$database
Which – using DMY date format and 24 hour clock format settings – results in:
DATE20160323 DATETIME20160323160539 NOON DATETIME18991230MIDNIGHT DATETIME190001011800 DATETIME189912290600 DATETIME19960101MIDNIGHT CONSTANT --------------------------------------------------------------------------------------------------------------------------------------------------- 24-3-2016 23-3-2016 16:05:39 12:00:00 30-12-1899 1-1-1900 18:00:00 28-12-1899 18:00:00 1-1-1996
Which basically taught me a new thing about firebird: Times are calculated in seconds, so date fractions need to be multiplied by 60 * 60 * 24.
You can see this in the following query and results:
select (cast('Now' as time) - cast('00:00:00.000' as time)) / (24 * 60 * 60) as DelphiTime, cast('Now' as time) - cast('00:00:00.000' as time) as SecondsSinceMidnight, cast('Now' as date) - cast('1899-12-30' as date) as DelphiDate, cast('Now' as timestamp) - cast('1899-12-30 00:00:00.000' as timestamp) as DelphiDateTime, 24 * 60 * 60 as SecondsPerDay, cast('Now' as date) as "Date", cast('Now' as time) as "Time", cast('Now' as timestamp) as "TimeStamp" from rdb$databaseDELPHITIME SECONDSSINCEMIDNIGHT DELPHIDATE DELPHIDATETIME SECONDSPERDAY Date Time TimeStamp ------------------------------------------------------------------------------------------------------------------------------------------------ 0,4366 37722,284 42835 42835,436600509 86400 10-4-2017 10:28:42 10-4-2017 10:28:42
Note this post is complementary to Date format converter from Text or Unix/Mac/Filetime/Microsoft to virtually any readable form (which mentions the wrong Microsoft epoch as it should be 1899-12-30 midnight): the above shows how to do the conversion to readable dates in Firebird (might work in InterBase as well, but I’ve not used that for a long time).
–jeroen
PS: for Microsoft SQL Server: passing dates to the sql server: pass it as float – 2. -2 is the difference between delphi tdatetime start date and mssql start date.
Posted in Algorithms, Database Development, Development, Firebird, Floating point handling, Software Development | 2 Comments »
MahdiSafsafi/delphi-detours-library: Delphi Detours Library
Posted by jpluimers on 2017/02/14
I didn’t know about the MahdiSafsafi/delphi-detours-library: Delphi Detours Library [WayBack] until this question turned up:
Does anybody have a version of Delphi Detours (https://github.com/MahdiSafsafi/delphi-detours-library) that works with Delphi 2007? – Primož Gabrijelčič – Google+ [WayBack]
No need for it yet, but it will be useful one day.
–jeroen
Posted in Delphi, Development, Software Development | Leave a Comment »
How to speed up Count(*) in InterBase/Firebird – Stack Overflow
Posted by jpluimers on 2017/02/14
The drawback of how the multigenerational architecture is implemented:
Even when an index is available on the column or columns included in the COUNT, all records must be visited in order to see if they are visible under the current transaction isolation.
The benefits of the MGA (multi-generational architecture) having far less locking than other architectures means you need to be careful using the COUNT operator on large result-sets.
In many systems the exact result of a COUNT isn’t very important, so you can use the workaround referred from How to speed up Count(*) in Interbase/Firebird – Stack Overflow
See also:
- [WayBack]Select count(*) is slow
- [WayBack] [#CORE-3666] Count command too slow – Firebird RDBMS Issue Tracker
- [WayBack] Robert Haas: Fast Counting (as PostgreSQL uses a similar architecture)
–jeroen
Posted in Database Development, Development, Firebird, InterBase | Leave a Comment »
Want for birthday or X-mas: “The Lamp” and “BBS: The documentary”
Posted by jpluimers on 2017/02/13
Via KansasFest 2009 Keynote with Jason Scott | KansasFest [WayBack] I bumped into these documentaries by Jason Scott Sadofsky:
- Get Lamp on text based adventurers – http://www.getlamp.com/order/
- BBS: The Documentary on the bulletin board era – http://www.bbsdocumentary.com/order/
The BBS Documentary DVDs are No Longer for Sale [WayBack] though “There will be digital copies sold in the future!” and there is “BBS The.Documentary Part 1 – Baud – YouTube”
There are upcoming documentaries as well, including one on the 6502.
–jeroen
Posted in 6502, History | Leave a Comment »
GSM/3G/4G/LTE/… enable or disable caller ID when calling
Posted by jpluimers on 2017/02/13
When testing the setup of a Fritz!Box 7490 with fiber connection, routing anonymous/withheld ISDN calls to a new answering machine I needed to test if only Caller ID calls were getting through.
The easiest was to do this from my mobile phone.
Izzy explained how to in callerid – How can I make anonymous calls for everyone but contact list? – Android Enthusiasts Stack Exchange.
Basically all cellular networks based on GSM or derived technologies allow you to prefix any phone numbers with:
- #31# to disable caller ID
- *31# to enable caller ID
–jeroen
Posted in Cellular telephony, ISDN, LifeHacker, Power User, PSTN, Telephony | Leave a Comment »
Gitkraken – free and commercial edition to raise funds for diabetes
Posted by jpluimers on 2017/02/10
I didn’t know about this. When SourceTree doesn’t improve, I might try it one day.
–jeroen
Posted in Development, DVCS - Distributed Version Control, git, GitKraven, Mercurial/Hg, Source Code Management, SourceTree | 1 Comment »
Managing WIFI connections using the Mac OSX…
Posted by jpluimers on 2017/02/10
These links:
- [Wayback/Archive] Managing WIFI connections using the Mac OSX…
- [Wayback/Archive] Find & Scan Wireless Networks from the Command Line in Mac OS X
- [Wayback/Archive] airport – the Little Known Command Line Wireless Utility
Made me add this to my ~/.bash_profile:
Posted in Apple, Mac, Mac OS X / OS X / MacOS, Mac OS X 10.6 Snow Leopard, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, MacMini, OS X 10.10 Yosemite, OS X 10.9 Mavericks, Power User | Leave a Comment »





