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

Inspecting/unpacking a Linux rpm file on Mac OS X

Posted by jpluimers on 2016/11/18

You need this statement to unpack an rpm file on Mac OS X without having rpm installed:

rpm2cpio ##filename.rpm## | cpio -idmv

This will make rpm2cpio unpack the rpm file in the current directory using these cpio options:

  • i – use the rpm2cpoio as unput
  • d – created directories when needed
  • m – set modification timestamps from the archive
  • v – verbose filenames to stderr

cpio is already part of the Mac OS X system.

You can get rpm2cpio through homebrew by typing brew install rpm2cpio which will likely also download he xz dependency.

–jeroen

via: rhel – Open a RPM on a Mac? – Unix & Linux Stack Exchange

Posted in *nix, *nix-tools, Apple, iMac, Linux, Mac, Mac OS X / OS X / MacOS, MacBook, MacBook Retina, MacBook-Air, MacBook-Pro, MacMini, OS X 10.10 Yosemite, OS X 10.11 El Capitan, OS X 10.9 Mavericks, Power User, rpm | Leave a Comment »

Why I always disable Castalia in Delphi

Posted by jpluimers on 2016/11/18

I wrote about disabling Castalia before. This is yet another reason why I disabled it: on a fresh install it will throw errors at startup like this one in XE8: [WayBackhttp://qc.embarcadero.com/wc/qcmain.aspx?d=139278

[20441569]{coreide220.bpl} IDEKbd... (Line 586, "IDEKbd.pas" + 0) + $79D
[20441523]{coreide220.bpl} IDEKbd... (Line 586, "IDEKbd.pas" + 0) + $757
[2044168B]{coreide220.bpl} IDEKbd... (Line 586, "IDEKbd.pas" + 0) + $8BF
[2078892A]{coreide220.bpl} KbClient.TKeyboardServices.AddKeyBinding (Line 1455, "KbClient.pas" + 10) + $19
[0DD556A9]{Castalia220.bpl} Castalianavbar.TCastaliaNavToolbarKeyBinding.BindKeyboard + $4D
[2078746B]{coreide220.bpl} KbClient.TIDEKBDFrameAPI.KeyboardChanged (Line 521, "KbClient.pas" + 10) + $16
[20788AF5]{coreide220.bpl} KbClient.CheckUpdate (Line 1490, "KbClient.pas" + 3) + $6
[20788C7E]{coreide220.bpl} KbClient.TKeyboardServices.AddKeyboardBinding (Line 1527, "KbClient.pas" + 31) + $2
[50067002]{rtl220.bpl } System.@IntfCast (Line 36449, "System.pas" + 12) + $0
[0DD55629]{Castalia220.bpl} Castalianavbar.TCastaliaNavToolbarInstallerD8.WndProc + $2D
[2108A075]{designide220.bpl} Events.TEvent.Send (Line 165, "Events.pas" + 2) + $11
[0041D2B7]{bds.exe } AppMain.PostCreateInit (Line 2095, "AppMain.pas" + 72) + $B
[50682FE9]{vcl220.bpl } Vcl.Controls.TControl.WndProc (Line 7245, "Vcl.Controls.pas" + 91) + $6
[50687B91]{vcl220.bpl } Vcl.Controls.TWinControl.WndProc (Line 10079, "Vcl.Controls.pas" + 158) + $6
[5068A86D]{vcl220.bpl } Vcl.Controls.TWinControl.Invalidate (Line 12027, "Vcl.Controls.pas" + 0) + $9
[500605B4]{rtl220.bpl } System.TMonitor.TryEnter (Line 17939, "System.pas" + 10) + $0
[507C1F58]{vcl220.bpl } Vcl.Forms.TCustomForm.WndProc (Line 4427, "Vcl.Forms.pas" + 206) + $5
[506871B0]{vcl220.bpl } Vcl.Controls.TWinControl.MainWndProc (Line 9786, "Vcl.Controls.pas" + 3) + $6
[50172DF4]{rtl220.bpl } System.Classes.StdWndProc (Line 16882, "System.Classes.pas" + 8) + $0
[507CB41F]{vcl220.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10352, "Vcl.Forms.pas" + 23) + $1
[507CB44A]{vcl220.bpl } Vcl.Forms.TApplication.ProcessMessages (Line 10374, "Vcl.Forms.pas" + 1) + $4
[0041DE2B]{bds.exe } AppMain.TAppBuilder.ApplicationActivated (Line 2264, "AppMain.pas" + 0) + $7
[50828C27]{vcl220.bpl } Vcl.AppEvnts.TCustomApplicationEvents.DoActivate (Line 201, "Vcl.AppEvnts.pas" + 1) + $E
[50829289]{vcl220.bpl } Vcl.AppEvnts.TMultiCaster.DoActivate (Line 422, "Vcl.AppEvnts.pas" + 5) + $8
[507CA8E6]{vcl220.bpl } Vcl.Forms.TApplication.WndProc (Line 9949, "Vcl.Forms.pas" + 126) + $C
[50172DF4]{rtl220.bpl } System.Classes.StdWndProc (Line 16882, "System.Classes.pas" + 8) + $0
[507CC78D]{vcl220.bpl } Vcl.Forms.TApplication.CancelHint (Line 11181, "Vcl.Forms.pas" + 6) + $D
[507CB41F]{vcl220.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10352, "Vcl.Forms.pas" + 23) + $1
[507CB462]{vcl220.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10382, "Vcl.Forms.pas" + 1) + $4
[507CB795]{vcl220.bpl } Vcl.Forms.TApplication.Run (Line 10520, "Vcl.Forms.pas" + 26) + $3

 

–jeroen

Read the rest of this entry »

Posted in Castalia, Delphi, Delphi XE8, Development, QC, Software Development | 3 Comments »

If you are a KDE neon user, reinstall your distro now! | CIO

Posted by jpluimers on 2016/11/18

Security always has the human factor involved which means that we screw up like here:

Source: [WayBackIf you are a KDE neon user, reinstall your distro now! | CIO

A little blunder was committed by the core developers that made the entire archive insecure:

“Best practice when setting that up is to use the trusted SSH protocol to open a tunnel and upload through that,” said Riddell, “Unfortunately in setting up that new archive I had it listening for uploads on the whole network not just the local SSH tunnel.”

–jeroen

via: [WayBack] hmmm – looks legithttp://www.cio.com/article/3142789/linux/if-you-are-a-kde-neon-user-reinstall-your-distro-now.html – Joe C. Hecht – Google+

Posted in Power User, Security | Leave a Comment »

Getting the vendor from an ethernet network MAC address on-line through the Wireshark OUI Lookup Tool.

Posted by jpluimers on 2016/11/18

In networks, often you want to know which manufacturer or vendor is behind a MAC address.

An easy way to look this up on-line is by using the
Wireshark · OUI Lookup Tool which should have had MAC or MAC address in the title.

It uses both the extensive /etc/manuf Wireshark Ethernet vendor codes and well-known MAC address prefixes (which is a long text file generated from several sources). Some of the prefixes are just the 24-bit (6-hex digit) OUIs, but others are much more fine grained.

What’s really cool is that the tool accepts a very lenient formatting of inputs: full, partial, various hex separators (including none), case insensitive, and vendor names/abbreviations. So entries like these magically work.

0000.0c
08:00:20
01-00-0C-CC-CC-CC
missouri

–jeroen

Posted in Ethernet, Network-and-equipment, Power User | Leave a Comment »

CppCon 2015: Greg Law ” Give me 15 minutes & I’ll change your view of GDB” – YouTube

Posted by jpluimers on 2016/11/17

CppCon 2015: Greg Law ” Give me 15 minutes & I’ll change your view of GDB” – YouTube

via: Things you did not know about GDB – Kristian Köhntopp – Google+

–jeroen

Posted in Debugging, Development, GDB, Software Development | Leave a Comment »

Versioning common sense (major.minor.patch) has a name: Semantic Versioning 2.0.0

Posted by jpluimers on 2016/11/17

I just discovered the versioning common sense I’ve used for decades actually has a name. It’s even a “standard”!

Semantic Versioning 2.0.0 Summary

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. PATCH version when you make backwards-compatible bug fixes.

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

I discovered it via:

betty – Friendly English-like interface for your command line. Don’t remember a command? Ask Betty.

Source: pickhardt/betty

–jeroen

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

tmux attach to named session or create when it doesn’t exist yet – via: How to start tmux with attach if a session exists – Unix & Linux Stack Exchange

Posted by jpluimers on 2016/11/16

In my alias list:

alias "tmux-attach-or-create-main-session=tmux new-session -A -s main"

Via User Wesley Baugh – Unix & Linux Stack Exchange who answered:

If naming your session is okay, then it’s easy to do with the new-session command:

tmux new-session -A -s main

where main is the session name that will be attached to or created if needed.

From man tmux

 The -A flag makes new-session behave like attach-session if session-name already exists; in this case, -D behaves like -d to attach-session.

–jeroen

Source: How to start tmux with attach if a session exists – Unix & Linux Stack Exchange

Posted in *nix, *nix-tools, Linux, openSuSE, Power User, SuSE Linux, tmux | Leave a Comment »

`xcode-select –install` required for OS X 10.9 Xcode command-line tools (like `zlib-devel`)

Posted by jpluimers on 2016/11/16

Hopefully this was a one time oversight from Apple, but on OS X 10.9 (Mavericks) the Xcode command-line tools cannot be installed from the Xcode Preferences pane.

You have to install them from the command-line:

xcode-select --install

There is one catch though: it might fail as you first have to start Xcode once and accept the license agreement.

You need them for instance when playing with zlib-devel (for instance when creating your own openssl builds).

–jeroen

Posted in Apple, Development, Mac OS X / OS X / MacOS, OS X 10.9 Mavericks, Power User, Software Development, xCode/Mac/iPad/iPhone/iOS/cocoa | Leave a Comment »

Positive: Delphi 10.1 Berlin Update 2 is out – ISO links

Posted by jpluimers on 2016/11/15

Since I’m lazy and always misplace how to get the ISOs:

–jeroen

Reference: Positive: Delphi 10.1 Berlin is out; negative all Embarcadero HTTPS sites still vulnerable to DROWN attack « The Wiert Corner – irregular stream of stuff

Posted in Delphi, Delphi 10.1 Berlin (BigBen), Development, Software Development | 1 Comment »

Oh nice: the compiler settings in your .dproj files are not reflected in what Ctrl-O O emits in XE7

Posted by jpluimers on 2016/11/15

I need to test this with other Delphi versions:

Oh nice: the compiler settings in your .dproj files are not reflected in what Ctrl-O O emits as it always puts this as first line in your source code for Delphi XE7:

{$A8,B-,C+,D+,E-,F-,G+,H+,I+,J-,K-,L+,M-,N-,O+,P+,Q-,R-,S-,T-,U-,V+,W-,X+,Y+,Z1}

Which means that changing integer values in <DCC_Alighment> or <DCC_MinimumEnumSize> and boolean values in <DCC_Optimize> have no effect.

Bummer.

Source: Oh nice: the compiler settings in your .dproj files are not reflected in what…

I will officially report it as soon as https://www.ssllabs.com/ssltest/analyze.html?d=quality.embarcadero.com grades B or better.

And I need to find out if I can help determining which of these causes it via [WayBackThomas Mueller (dummzeuch) – Google+:

There are two possibilities:
1. The settings in the dproj file have no effect
2. The settings Ctrl-O O writes to the source file do not reflect the actual compiler settings but are hard coded instead.
(3. Both)

–jeroen

 

 

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