Interesting: Log shell script events to the OS X system consolemacissues.com.
–jeroen
via: If you are familiar with the Unix command line and shell scripting, then you….
Posted by jpluimers on 2015/08/31
Interesting: Log shell script events to the OS X system consolemacissues.com.
–jeroen
via: If you are familiar with the Unix command line and shell scripting, then you….
Posted in Apple, Mac, Mac OS X / OS X / MacOS, Mac OS X 10.4 Tiger, Mac OS X 10.5 Leopard, Mac OS X 10.6 Snow Leopard, Mac OS X 10.7 Lion, OS X 10.10 Yosemite, OS X 10.8 Mountain Lion, OS X 10.9 Mavericks, Power User | Leave a Comment »
Posted by jpluimers on 2015/08/30
Two recent observations: that lead me into thinking Embarcadero is changing the Delphi and RAD Studio version suffix to Seattle.
Thanks to Achim Kalwa for getting that to my attention in Looks like Delphi XE9 will have support for Windows 10 RT: …
It led me to my observation that until now, sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches always had the real product name as banch name.
On 20150817 this branch got added:
http://sourceforge.net/p/radstudiodemos/code/HEAD/tree/branches/RADStudio_Seattle/
Today, Horacio Filho who observed the Seattle part in the new documentation URL http://docwiki.embarcadero.com/Libraries/Seattle/en/Main_page which currently is only accessible only for the groups writer, l10n, RADBeta, ConnectBeta, Employee.
The docwiki URLs historically also use the real product names in the URL.
In fact there is a little trick: removing the product name portion of a docwiki URL usually brings you to the most recent documentation (which might be more up to date and provide more information even for older products). So removing the XE7/ part of http://docwiki.embarcadero.com/Libraries/XE7/en/Main_Page will usually bring you to the most recent documentation http://docwiki.embarcadero.com/Libraries/en/Main_Page.
If they both Seattle URLs still use product names, then the new Delphi version is called Seattle is added.
Posted in Delphi, Delphi 10 Seattle, Development, Software Development | 1 Comment »
Posted by jpluimers on 2015/08/28
Even though MDI files have been abandoned for a while (you can only install it for Office XP, 2003 and 2007), sometimes I need to do some editing of TextBox annotations.
This is not intuitive: you have to right-click the textbox in order to edit it.
Printing in Office 2003 also was non-intuitive: Ctrl-P would crash the Microsoft Office Document Imaging MDI editor with a Microsoft Crash Report. But mouse-clicking the print-icon works. I remember having sending dozens of these reports to Microsoft around 10 years ago, but it never got fixed.
–jeroen
Posted in Microsoft Document Imaging, Office, Office 2000, Office 2003, Office 2007, Power User | Leave a Comment »
Posted by jpluimers on 2015/08/28
A while ago, I needed to do calculations on partially absolute cell references: for some number of rows, the cells needed to be fixed to the top row of each row group.
For a pure absolute cell reference, you’d prepend a dollar sign to the row or column of a cell. So A1 would become $A1 (to make column A absolute), A$1 (to make row 1 absolute) or $A$1 (to make both column A and row 1 absolute).
There is a nice short cut function key F4 to do this.
Excel does not have a built-in partially absolute cell reference solution.
To solve this, I used these addressing functions: ADDRESS, INDIRECT, COLUMN, ROW.
For all these functions, the ROW and COLUMN numbering starts at 1 (one) not 0 (zero).
The way I solved it was to added the below columns (first the reference:heading, then the formula).
The values in the formulas are for ROW 2 (cells A2..XFD2).
Calculates the fixed row of the row group. There are 12 rows per group. ROW numbers start at 1, and there is one heading row, hence the 2+ and the -2.
Without TRUNC, the ROW result would be rounded (that is the default floating point to integer conversion that Excel uses).
There is no need to reference a specific row when calling ROW: if you leave it out, it will return the number of the current row.
returns the address of the calculated ROW (from AH) combined with the
Depending on the value of the D column, it calculates the outcome by combining
–jeroen
via:
Posted in Algorithms, Development, Excel, Floating point handling, Office, Office 2003, Office 2007, Office 2010, Office 2013, Power User, Software Development | 2 Comments »
Posted by jpluimers on 2015/08/27
When you have a Dictionary<TKey, TValue>, then LINQ results will get you a enumerables of KeyValuePair<TKey, TValue>.
Since KeyValuePair is a struct, selecting FirstOrDefault will not get you a null, but a default(KeyValuePair<TKey, TValue>) which is a lot harder to handle than null.
Sometimes, being able to get a null out of FirstOrDefault is very useful, so a bit thank you to Marc Gravell for answering this very neat trick:
If you just care about existence, you could use
ContainsValue(0)orAny(p => p.Value == 0)instead? Searching by value is unusual for aDictionary<,>; if you were searching by key, you could useTryGetValue.One other approach:
var record = data.Where(p => p.Value == 1) .Select(p => new { Key = p.Key, Value = p.Value }) .FirstOrDefault();This returns a class – so will be
nullif not found.
The trick is this portion:
p => new { Key = p.Key, Value = p.Value }
It introduces an anonymous type with two fields: Key and Value. (Note you can introduce any anonymous type here). Since these are classes, FirstOrDefault will return null if nothing was found.
–jeroen
via:
Posted in .NET, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/08/26
Thanks Jon for answering this:
for /lis your friend:for /l %x in (1, 1, 100) do echo %xStarts at 1, steps by one, and finishes at 100.
Use two
%s if it’s in a batch filefor /l %%x in (1, 1, 100) do echo %%x
–jeroen
Posted in Batch-Files, Development, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2015/08/25
Really really cool!
Vysor (by Koushik Dutta aka Koush) lets you not only share and control your Android device screen from your local Chrome browser, but also remotely to others having a Chrome browser with Vysor installed. And Vysor gives you full ADB access to your Android device.
Some links to get started:
To get started:
After connecting over ADB, Vysor sideloads the Android code to share both screen and input. So besides viewing your screen, you can then control it.
Of course your mouse works, including scrolling. And the keyboard for entering text.
There are also some special keys:
Posted in Android Devices, Chrome, Google, Power User, Vysor | 1 Comment »
Posted by jpluimers on 2015/08/25
It took me a while to find the original illustration (especially as it was copied so often in low quality), but below it is.
Martin Wienold made a great joke based on it last year:
There are only two hard problems
- naming things
- cache invalidation
- off-by-one errors
–jeroen
via: G+; Programmers’ hardest tasks.
Original (October 2013): Don’t go into programming if you don’t have a good thesaurus | ITworld.
Posted in Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/08/24
Because http://fritz.box points to my Fritz!BOX router, it cannot be used to get to my Fritz!WLAN Repeater. I just learned about the http://169.254.1.1 trick does.
Which saves me from remembering the repeater IP-address or name.
–jeroen
via: Opening the FRITZ!Box user interface | FRITZ!WLAN Repeater 1750E | AVM International.
Posted in Fritz!, Fritz!Box, Fritz!WLAN, Internet, Power User, routers | Leave a Comment »
Posted by jpluimers on 2015/08/24
A while ago, I got this error:
Accessing the Software Management Failed System management is locked by the application with pid 17730 (/usr/lib/YaST2/bin/y2base). Close this application before trying again. Would you like to abort or try again? [Retry] [Abort]
What happened is that a terminal session that had YaST open got disconnected (don’t you love WiFi) while checking for updates.
I tried to re-login and re-check for updates and got this error.
Looking for process 17730 indeed revealed it was YaST:
snap:~ # ps 17730 PID TTY STAT TIME COMMAND 17730 pts/0 Sl+ 0:11 /usr/lib/YaST2/bin/y2base online_update ncurses
A simple kill would get rid of that process:
sudo kill 17730
–jeroen
via: yast locked.
Posted in *nix, Linux, openSuSE, Power User, SuSE Linux | Leave a Comment »