Archive for the ‘Software Development’ Category
Posted by jpluimers on 2019/01/30
Hopefully by now the Google Assistant and Google Home have made their way into the Dutch language. If so, then it’s time for me
[WayBack] Quick Intro Into Actions on Google | Grokking Android: Find out which options exist to develop apps for the Google Assistant with Actions on Google and to bring the Assistant to devices with the Assistant SDK.
–jeroen
Posted in Android, Android Devices, Development, Google, Google AI, Google Assistant, GoogleHome, Mobile Development, Software Development | Leave a Comment »
Posted by jpluimers on 2019/01/29
Just learned that bash can do TCP and UDP itself:
Bash has been able to access TCP and UDP ports for a while. From the man page:
/dev/tcp/host/port
If host is a valid hostname or Internet address, and port is an integer port number
or service name, bash attempts to open a TCP connection to the corresponding socket.
/dev/udp/host/port
If host is a valid hostname or Internet address, and port is an integer port number
or service name, bash attempts to open a UDP connection to the corresponding socket.
So you could use something like this:
xenon-lornix:~> cat < /dev/tcp/127.0.0.1/22
SSH-2.0-OpenSSH_6.2p2 Debian-6
^C pressed here
Taa Daa!
This for systems that do not have telnet installed (Windows stopped using this a long time ago, many Linux distributions followed suit) and you cannot to use nc (also known as netcat).
–jeroen: [WayBack] linux – Test if a port on a remote system is reachable (without telnet) – Super User
Posted in *nix, *nix-tools, bash, bash, Development, Power User, Scripting, Software Development | Leave a Comment »
Posted by jpluimers on 2019/01/29
One reason to monitor your infrastructure is to signal longer outages, or even better review past outages and prevent longer ones.
It is not the reason I created [Archive.is] EmbarcaderoMonitoring (it was to rule out problems between my systems and the Embarcadero sites), but it does help me gain insight in their infrastructure.
In this case, the [Archive.is] Docs – EmbarcaderoMonitoring shows that after months of OK operation, it suddenly started failing, at the same day parts of the other infrastructure also failed. It recovered, just like the other parts, but unlike the other parts, it was now down for almost a day when I took the screenshots:


Hopefully someone at Embarcadero realises the downtime too.
Read the rest of this entry »
Posted in Delphi, Development, Software Development | 1 Comment »
Posted by jpluimers on 2019/01/24
I was amazed that this was marked as “Closed; won’t fix” as every respectable IDE I use but Delphi has a package manager that by now can download and update packages in the background without blocking the IDE [RSP-10484] GetIt shouldn’t block the IDE – Embarcadero Technologies.
–jeroen
Read the rest of this entry »
Posted in Delphi, Development, Software Development | 1 Comment »
Posted by jpluimers on 2019/01/24
Cult code via [WayBack] Fast inverse square root – Wikipedia part of [WayBack] Quake-III-Arena/blob/master/code/game/q_math.c:
float Q_rsqrt( float number )
{
long i;
float x2, y;
const float threehalfs = 1.5F;
x2 = number * 0.5F;
y = number;
i = * ( long * ) &y; // evil floating point bit level hacking
i = 0x5f3759df - ( i >> 1 ); // what the fuck?
y = * ( float * ) &i;
y = y * ( threehalfs - ( x2 * y * y ) ); // 1st iteration
// y = y * ( threehalfs - ( x2 * y * y ) ); // 2nd iteration, this can be removed
return y;
}
It is a really fast way to approximate the square root for 32-bit IEEE754 calculations having origins around 1986:
- [WayBack] Symplectic Spacewar » Cleve’s Corner: Cleve Moler on Mathematics and Computing:
Cleve Moler replied on June 27th, 2012 9:35 pm UTC :
Jotaf — Thanks very much for your comment, and for reminding me about the fast inverse square root hack. I didn’t realize that the trick had attained a kind of cult status in the graphics community. The trick uses bit-fiddling integer operations on a floating point number to get a good starting approximation for Newton’s iteration. The Wikipedia article that you link to describes the trick in great detail, and also links to an article by Rys Sommefeldt about its origins. Sommefeldt goes back to the late ’80s and to me and my colleague Greg Walsh at Ardent Computer. I actually learned about trick from code written by Velvel Kahan and K.C. Ng at Berkeley around 1986. Here is a link to their description, in comments at the end of the fdlibm code for sqrt. http://www.netlib.org/fdlibm/e_sqrt.c . — Cleve
- [WayBack] http://www.netlib.org/fdlibm/e_sqrt.c
By now there is also a constant for 64-bit IEEE754 calculations 0x5fe6ec85e7de30da by [WayBack] 2003 research from Chris Lomont who also found a better 32-bit constant 0x5f375a86.
Note you need to be careful with boundary values like zero and infinity. This holds for approximations in general: [WayBack] performance – Why is SSE scalar sqrt(x) slower than rsqrt(x) * x? – Stack Overflow
–jeroen
Posted in Algorithms, C, Development, History, Software Development | Leave a Comment »
Posted by jpluimers on 2019/01/24
While doing some research, I bumped into Chuck Jazdzewski on Twitter: “Doing some historical posts to resurrect my blog. http://t.co/kSXy3ARUhR” so I decided to archive a few more links about Chuck because few of the early Delphi R&D team on-line history is slowly fading away into bit-heaven.
Back in the Delphi days, together with Anders Hejlsberg, Chuck Jazdzweski he has co-architected the the Delphi VCL component architecture and the foundations of the Delphi IDE.
Nowadays he’s working at Google and even speaking on conferences, grown far beyond his “be at conferences, but just chat with people” in the Delphi days: [WayBack] Chuck Jazdzewski – NG-Conf April 18–20th 2018 – The World’s Original Angular Conference
Chuck is a Software Engineer on the Angular team at Google. He is a programming language geek, UI framework and component library veteran, and has a passion for simplifying the task of programming. Before Google, he worked at Microsoft and Borland.
–jeroen
Posted in Delphi, Development, Software Development | 2 Comments »