Interesting tool:
I wrote a program to clean up scans of handwritten notes while simultaneously reducing file size.
Source: Compressing and enhancing hand-written notes [WayBack]
via:
Posted by jpluimers on 2018/09/21
Interesting tool:
I wrote a program to clean up scans of handwritten notes while simultaneously reducing file size.
Source: Compressing and enhancing hand-written notes [WayBack]
via:
Posted in Image Editing, Power User | Leave a Comment »
Posted by jpluimers on 2018/09/21
Joe Heche is completely right:
Isn’t the one on the right brilliant?
Source: National Paper Airplane Day TJoe’s personal favorite in form, function, and simplicity…
Thanks Joe!
–jeroen
Posted in Fun, LifeHacker, Power User | Leave a Comment »
Posted by jpluimers on 2018/09/20
After [WayBack] 20 years of Google: [WayBack] 20 things you didn’t know you could do with Search: Read the rest of this entry »
Posted in Google, GoogleSearch, Power User | Leave a Comment »
Posted by jpluimers on 2018/09/20
[WayBack] The 10 commandments of navigating code reviews | TechBeacon:
How to survive, and thrive, in the sometimes-caustic world of code reviews.
Summary:
- Thou shalt not take it personally
- Thou shalt not marry thy code
- Thou shalt consider all feedback
- Thou shalt articulate thy rationale
- Thou shalt be willing to compromise
- Thou shalt contribute to others’ code reviews
- Thou shalt treat submitters how thou would like to be treated
- Thou shalt not be intimidated by the number of comments
- Thou shalt not repeat the same mistakes
- Thou shalt embrace the nits
Via: [WayBack] Kevlin Henney – Google+: The 10 commandments of navigating code reviews
–jeroen
Posted in Agile, Conference Topics, Conferences, Development, Event, Software Development | Leave a Comment »
Posted by jpluimers on 2018/09/20
Source: MahdiSafsafi/ImmersiveColors: Easy way to access Windows 10 Immersive colors
via: [WayBack] This is just what I tried to find, but could not figure out what those colors are called :)But anyways some Delphi-superhero has done all work for us… – Tommi Prami – Google+
–jeroen
Posted in Color (software development), Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2018/09/20
Based on
More references and ideas:
—jeroen
Posted in Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management, Subversion/SVN | Leave a Comment »
Posted by jpluimers on 2018/09/19
Delphi 10.1 Berlin broke [RSP-19557] TParallel,Join does not create enough threads – Embarcadero Technologies. It was reported 9 months ago, and since it took quite some longer than a year for a new Delphi version to be released, I wonder if it is fixed by now.
Related:
–jeroen
Posted in Delphi, Development, Software Development | 2 Comments »
Posted by jpluimers on 2018/09/19
I wrote about Vysor before, but totally forgot to mention that for like 2 years there have been (initially beta) standalone versions of Vysor based on the Electron framework that is also used by the Atom.io editor and Visual Studio code.
So here they are (:
- https://www.vysor.io/download.html
- https://vysornuts.clockworkmod.com/download/win32
- https://vysornuts.clockworkmod.com/download/osx
- There is no Linux version, but a workaround is described in https://github.com/koush/vysor.io/issues/242
Over time, these have been updated with new versions.
Web site source: https://github.com/koush/vysor.io
–jeroen
History:
Related:
Posted in Android, Android Devices, Development, Mobile Development, Power User, Vysor | Leave a Comment »
Posted by jpluimers on 2018/09/19
I always forget which sides of the connection throw this error, but the client side does as explained in [WayBack] delphi – Troubleshooting EIdConnClosedGracefully Exceptions? – Stack Overflow by [WayBack] Remy Lebeau the main Indy contributor:
EIdConnClosedGracefullymeans the other party … has disconnected its end of the connection. Once that exception has been raised, you cannot send more data to the other party. You must reconnect first.
Posted in Delphi, Development, Software Development | 2 Comments »
Posted by jpluimers on 2018/09/18
I tend to forget that since TPair – introduced in Delphi 2009 – has had a TPair.Create(Key, Value)record initialiser since Delphi 2010, though only fully documented since Delphi XE4:
With some spart short methods, Cosmin Prund shows a really nice helper at [WayBack] delphi – TDictionary populated during create example code – Stack Overflow allowing a call like this:
with TDictHelper<Integer, string> do Dict := Make([P(1, 'one'), P(2, 'two')]);
His answer has all the details (including describing the pros and conse), so here is only the helper:
uses SysUtils, Generics.Collections; type TDictHelper<Key, Value> = class public class function P(const K:Key; const V:Value): TPair<Key, Value>; class function Make(init: array of TPair<Key, Value>): TDictionary<Key, Value>;overload; class function Make(KeyArray: array of Key; ValueArray: array of Value): TDictionary<Key, Value>;overload; end; { TDictHelper<Key, Value> } class function TDictHelper<Key, Value>.Make(init: array of TPair<Key, Value>): TDictionary<Key, Value>; var P: TPair<Key, Value>; begin Result := TDictionary<Key, Value>.Create; for P in init do Result.AddOrSetValue(P.Key, P.Value); end; class function TDictHelper<Key, Value>.Make(KeyArray: array of Key; ValueArray: array of Value): TDictionary<Key, Value>; var i:Integer; begin if Length(KeyArray) <> Length(ValueArray) then raise Exception.Create('Number of keys does not match number of values.'); Result := TDictionary<Key, Value>.Create; for i:=0 to High(KeyArray) do Result.AddOrSetValue(KeyArray[i], ValueArray[i]); end; class function TDictHelper<Key, Value>.P(const K: Key; const V: Value): TPair<Key, Value>; begin Result := TPair<Key, Value>.Create(K, V); end;
–jeroen
Posted in Conference Topics, Conferences, Delphi, Development, Event, Software Development | 7 Comments »