The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Archive for the ‘Software Development’ Category

case insensitive files systems and git – Lesson Learned – I Can’t Get My Git Repo Clean! | DrupalEasy

Posted by jpluimers on 2016/07/06

via: Lesson Learned – I Can’t Get My Git Repo Clean! | DrupalEasy

One file kept getting added to the git modified list: service/src/main/MySOAPdefinition.pas.

It was part of a repository that had been migrated from SVN (more on that in a future blog post) and along the way been renamed in directory service/src/main from MySOAPdefinition.pas to MySoapDefinition.pas. SVN (and TortoiseSVN) don’t object to this. But git does.

You’d see this on the command-line:

>git status
On branch develop
Your branch is up-to-date with 'origin/develop'.
Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        modified:   service/src/main/MySOAPdefinition.pas

no changes added to commit (use "git add" and/or "git commit -a")

>git add service\src\main\MySoapDefinition.pas

>git status
On branch develop
Your branch is up-to-date with 'origin/develop'.
Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        modified:   service/src/main/MySOAPdefinition.pas

no changes added to commit (use "git add" and/or "git commit -a")

Basically the add would do nothing.

On Windows, this is how to get around this:

Read the rest of this entry »

Posted in Delphi, Delphi XE8, Development, git, Mac OS X / OS X / MacOS, OS X 10.9 Mavericks, Power User, Software Development, Source Code Management, SourceTree, Windows, Windows 7 | 1 Comment »

Latency Numbers every Programmer and Architect should know

Posted by jpluimers on 2016/07/06

Via +Martin Blais, Philippe Beaudoin, Lars Fosdal as Useful resource……:

Hit the cache, Jack…

Interactive Chart of Latency Numbers every Programmer Should Know (from 1990s until 2020s including script to draw the cart).

Also, this variant by Erik Meijer from Coursera (https://www.coursera.org/course/reactive): https://d396qusza40orc.cloudfront.net/reactive/lecture_slides/Latency%20as%20an%20Effect%201.pdf#page=10

Via Asbjørn Heid:

Following up on +Lars Fosdal’s earlier post here’s a talk by Herb Stutter which goes into more detail of where the performance is these days.

It’s a general talk, not C++ specific. Recommend it to get some idea of what goes on under the hood these days,  and so one doesn’t try to do some premature optimization which may turn out to be bad.

--jeroen

October 2017 updates thanks to Kristian Köhntopp:

Table as of 2016:

  • 1 ns: L1 cache reference
  • 3 ns: Branch mispredict
  • 4 ns: L2 cache reference
  • 17ns: Mutex lock/unlock
  • 100ns: Main memory reference
  • 2000ns: Compress 1 kilibyte with Zippy
  • 16000ns: SSD random read
  • 19000ns: Read 1000000 bytes sequentially from memory
  • 500000ns: Round trip in same data center
  • 100000ns: Read 1000000 bytes sequentially from SSD
  • 3000000ns: Disk seek
  • 1000000ns: Read 1000000 bytes sequentially from disk
  • 150000000ns: Packet round trip California to the Netherlands

Part of the 2015 numbers:

 

Related: [WayBack] XKCD – Radiation Dose Chart

2024 update via Tweets I saved:

Posted in Development, Software Development | Leave a Comment »

With 3 days notice. Yay. Another timezone database fire drill. Fixed in tzdata and tzcode.

Posted by jpluimers on 2016/07/05

Not as bad as #brexit but still: With 3 days notice. Yay. Another timezone database fire drill. – Peter da Silva – Google+:

[tz] Egypt cancelled DST

Additional reports concur that DST has been permanently canceled in Egypt, by both the Cabinet and the Parliament.

http://www.sis.gov.eg/En/Templates/Articles/tmpArticleNews.aspx?ArtID=105572

http://english.ahram.org.eg/NewsContent/1/64/232478/Egypt/Politics-/Egypts-cabinet-abolishes-daylight-saving-time.aspx

http://www.egyptindependent.com/news/cabinet-cancels-daylight-saving-time-following-parliament-vote

http://www.parlmany.com/News/7/101143/-

-Matt

It is already fixed in eggert/tz: Time zone database and code as mentioned in the announcement [tz] [tz-announce] 2016f release of tz code and data available

Via: With 3 days notice. Yay. Another timezone database fire drill. – Kristian Köhntopp – Google+

–jeroen

Don’t forget to watch The Problem with Time & Timezones – Computerphile – YouTube (thanks Andre Naumann)

Posted in Algorithms, Development, Software Development | Leave a Comment »

pip: tool for installing Python packages.

Posted by jpluimers on 2016/07/05

pip is a great tool for installing Python packages.

But upgrading them still isn’t so great. Here are two statements: the first to list packages needing an update. The second updating them:

pip freeze –local | grep -v ‘^\-e’ | cut -d = -f 1  | xargs -n1

pip freeze –local | grep -v ‘^\-e’ | cut -d = -f 1 | xargs -n1 pip install -U

If you’re interested in pip, it is easy to install if it isn’t already included in your version of Python that is..

–jeroen

via:

Posted in Development, Python, Scripting, Software Development | Leave a Comment »

Built-in Delphi XE6, XE7 and XE8 Fast Reports have issue “F2051 Unit fs_iinterpreter was compiled with a different version of fs_isysrtti.TfsSysFunctions”

Posted by jpluimers on 2016/06/30

I’ve seen this compiler error in Delphi XE8 and others in Delphi XE6 and XE7 using a project depending on the built-in FastReports:

F2051 Unit fs_iinterpreter was compiled with a different version of fs_isysrtti.TfsSysFunctions

This will probably fail in more recent versions as well.

The easiest workaround is this:

  • Fast Report XE6 (4.15.10)
  • Fast Report XE7 (Version 5.1.5)
  • Fast Report XE8 (Version 5.2)

The problem could be solved with help of technical support (Paul Gursky).

The solution is to remove all pas files from:

  • LibD20 (XE6)
  • LibD21 (XE7)
  • LibD22 (XE8)
  • LibD22x64 (XE8)

The above is paraphrased from Fast Reports forum > Fatal Error F2051 when compiling under Delphi XE6 and XE7

The core of the problem is that Fast Reports stores .dcu/.hpp/.pas files in the same directory whereas Delphi itself stores the .dcu/.hpp/.o files in one directory (actually usually in debug and release directories for each supported platform like win32, win64, etc).

Note: the built-in Fast Reports limits a few features, for instance export to Excel is not supported.

–jeroen

Posted in Delphi, Delphi XE6, Delphi XE7, Delphi XE8, Development, Software Development | Leave a Comment »

A few more T-Shirt quotes: Trying to add a feature, The Internet is Broken, etc

Posted by jpluimers on 2016/06/30

Still funy: Trying to add a feature.

Done vs Progress.

Done vs Progress graph

Done vs Progress graph

Internet Is broken So I’m Outside Today T-shirts

–jeroen

 

Posted in About, Agile, Comics, Development, Fun, Geeky, Personal, Quotes, Software Development, T-Shirt quotes | Leave a Comment »

csc.exe: prevent “does not contain a static ‘Main’ method suitable for an entry point”, use /target:library

Posted by jpluimers on 2016/06/29

Every once in a while I do Command-line Building With csc.exe.

When building libraries, it throws this error:

The reason is that by default it wants to build a program.

Change this default by adding the /target:library parameter.

–jeroen

via: c# – Program does not contain a static ‘Main’ method suitable for an entry point – Stack Overflow.

Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, Development, Software Development, Visual Studio 11, Visual Studio 2002, Visual Studio 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2012, Visual Studio 2013, Visual Studio 2014, Visual Studio 2015, Visual Studio and tools | Leave a Comment »

Batch file to run the most recent vsvars32.bat

Posted by jpluimers on 2016/06/28

The below batch file finds and runs the latest vsvars32.bat on a system.

vsvars32.bat initializes the path and other environment variables to run Visual Studio and command-line tools (like csc.exe, xsd.exe, editbin.exe).

The batch file employs a few tricks from:

  :: Run the most recent vsvars32.bat

  :: test these environment variables that have 110 or 120 in them (future enhancements: support more Visual Studio versions):
  :: Visual Studio .NET 2002: VS70COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio .NET\Common7\Tools\
  :: Visual Studio .NET 2003: VS71COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\Tools\
  :: Visual Studio 2005: VS80COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\
  :: Visual Studio 2008: VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\
  :: Visual Studio 2010: VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
  :: Visual Studio 2012: VS110COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\
  :: Visual Studio 2013: VS120COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\
  :: VS130COMNTOOLS was skipped: http://www.neowin.net/forum/topic/1215607-visual-studio-13-to-be-skipped-vnext-to-be-v14/
  :: Visual Studio 2015: VS130COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
  :: They contain `vsvars32.bat` which will update the `PATH` so it includes where `xsd.exe`, `csc.exe`, `editbin.exe` and others reside
  :: Different examples: https://github.com/noop-dev/c-cgdk/blob/master/compile-vscpp.bat
  :: and https://code.google.com/p/xvid4psp/source/browse/trunk/bin/4Gb+patcher.bat
  :: or give it a go for any version: http://chess.eecs.berkeley.edu/ptexternal/src/ptII/ptolemy/actor/lib/fmi/fmus/template/sources/build_fmu.bat
  setlocal enabledelayedexpansion
  :: delayed expansion allows for the exclamation marks
  :: see http://ss64.com/nt/delayedexpansion.html
  :: see http://stackoverflow.com/questions/22857407/windows-batch-how-to-assign-variable-with-dynamic-name
  for %%v in (70 71 80 90 100 110 120 130) do if not [!VS%%vCOMNTOOLS!]==[] set VSCOMNTOOLS=!VS%%vCOMNTOOLS!
  :: http://stackoverflow.com/questions/28682268/assign-variables-past-endlocal-in-a-loop
  endlocal & call :do call "%VSCOMNTOOLS%vsvars32.bat"
  goto :eof

:do
  echo %*
  %*
  goto :eof

–jeroen

via: Finding the path of xsd.exe from your Visual Studio Build Events « The Wiert Corner – irregular stream of stuff.

Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, Development, Software Development, Visual Studio 11, Visual Studio 2002, Visual Studio 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio 2012, Visual Studio 2013, Visual Studio 2014, Visual Studio 2015, Visual Studio and tools | Leave a Comment »

Embarcadero closing down their Spanish office

Posted by jpluimers on 2016/06/24

Embarcadero closes down their spanish R&D office putting some 80 people on the street and diminishing the total Delphi R&D team.

Former Chief Scientist Allen Bauer commented:

The Spain office had taken on most of the IDE, Delphi RTL, GetIT, Installer, some DB, Bluetooth components, IoT, QA, and other miscellaneous tasks. They were by-far the largest single group working on RAD Studio. They were all a wonderful, dedicated, excited group of folks. They were eager to learn and truly enjoyed their jobs. I am deeply saddened by this development.

Source: [WayBackVery bad news!

Related: [WayBackEmbarcadero Discussion Forums: Bad news for Delphi? …

–jeroen

Posted in Delphi, Delphi 10.1 Berlin (BigBen), Development, Software Development | 31 Comments »

JavaScript is not Java – A humorous comparison of JavaScript and Java.

Posted by jpluimers on 2016/06/23

Yesterday I told:

Recently I did my very first JavaScript in HTML development. Since it was a one page experiment, I didn’t want to put it in an official repository of it’s own…

which reminded me of JavaScript is not Java – A humorous comparison of JavaScript and Java.

And still lots of uneducated people think they are the same, for instance the NBC Chicago publishes this at the start of the year:

Java Developer; What they do: Program websites using JavaScript.

Java Developer; What they do: Program websites using JavaScript.

They fixed it later but then the harm was already done (besides making a lot of fun of themselves and others making fun out of them too):

Java Developer; What they do: Write programs used by mobile devices, websites and mainframes.

Source: Report Reveals 10 Most In-Demand Jobs in Chicago for 2016 | NBC Chicago

–jeroen

Posted in Development, Java, Java Platform, JavaScript/ECMAScript, Scripting, Software Development | Leave a Comment »