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,860 other subscribers

James Newman built himself a 16-bit Megaprocessor using transistors in frames taking 12 by 2 meters. Wow!

Posted by jpluimers on 2016/07/07

It took James Newman more than one and a half years of actually building progress and more than that (thinking about it started in 2011) for designing his own Megaprocessor using transistors.

For like EUR 50000 and a lot of “learning opportunities” he built himself a room full of visual computing: you can see the LEDs on all the PCB boards indicating exactly what’s going on (heck: he even made the RAM visualise an actual tetris implementation).

All for the sake of understanding transistors and discrete logic after which things got out of hand.

Hopefully a tech museum will buy this.

His site as a truckload of information, for instance the Source: Megaprocessor – FAQ: good/bad/ugly linking to lots of technical details and decisions made (like throwing out surface mount components but using lead based solder or having dual output logic).

There’s a lot of video too (like Megaprocessor – How ?) but – especially these weeks – the downloading is slow, to it’s faster and easier to watch his Youtube playlists:

They are currently 6 videos each, but he has uploaded more videos and is working on more.

Finally, James even built an assembler for this 16-bit processor. How cool is that!

–jeroen

via:

Read the rest of this entry »

Posted in Development, Fun, Hardware Development | Leave a Comment »

Resource decompiler – converting/decompiling/extracting .RES files into .RC files and separate resources

Posted by jpluimers on 2016/07/07

via: Resource decompiler

One day I’m going to need ResourceHacker as it has an -extract option to extract resources.

The above link even has a batch file that can server as a start automating that process:

@echo off
set file="GeneSys"

if exist %file%.rc del %file%.rc

ResHacker.exe -extract %file%.res, %file%.rc,  Bitmap,,
ResHacker.exe -extract %file%.res, temp.rc,  Icon,,
type temp.rc >>%file%.rc
ResHacker.exe -extract %file%.res, temp.rc,  Dialog,,
type temp.rc >>%file%.rc
ResHacker.exe -extract %file%.res, temp.rc,  Menu,,
type temp.rc >>%file%.rc
ResHacker.exe -extract %file%.res, temp.rc,  StringTable,,
type temp.rc >>%file%.rc
ResHacker.exe -extract %file%.res, temp.rc,  Accelerators,,
type temp.rc >>%file%.rc
ResHacker.exe -extract %file%.res, temp.rc,  VersionInfo,,
type temp.rc >>%file%.rc
del temp.rc

I save it as extract.bat and a commandline usage: extract GeneSys will extract all the resources from GeneSys.res

–jeroen

PS: as the MASM forum sometimes nags with logins, I saved the above page in the wayback machine.

I’ve verified that [WayBack] ResourceHacker and the downloads ([WayBack] installer and [WayBack] portable) are there too.

Read the rest of this entry »

Posted in Development, Resource Files and Scripts (.res/.rc), Software Development, Windows Development | Leave a Comment »

Easy way to generate “System.InvalidOperationException: Nullable object must have a value.”

Posted by jpluimers on 2016/07/07

Easy way to generate “System.InvalidOperationException: Nullable object must have a value.”.


using System;
public class Test
{
public static void Main()
{
int? nullableInt = null;
int nowInt = (int)nullableInt;
}
}

–jeroen

Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Development, Software Development | Leave a Comment »

GitHub has majour service outages…

Posted by jpluimers on 2016/07/06

Boom!

In a split second GitHub went to

 

from

from 

Posted in Development, DVCS - Distributed Version Control, git, GitHub, Software Development, Source Code Management | Leave a Comment »

Vysor Pro Feature – Go Wireless to mirror and control your device without a USB Cable…

Posted by jpluimers on 2016/07/06

If you have a [Wayback/Archive] Vysor Pro (either subscription or one-time payment for life-long usage), then you can use this new [Wayback/Archive] New Vysor Feature – Go Wireless Click that button to mirror and control your without a USB cable…

There are more Pro features to come; currently they are:

  • High Quality Mirroring
  • Fullscreen Mode
  • Go Wireless
  • Vysor Share
  • Drag and Drop Files
  • Access to all future features

If Google Pay doesn’t work in your country, then you can use PayPal. When that doesn’t work either, well…

Another nice Vysor Pro feature: [Wayback/Archive] Vysor Share Server – an easy Android device farm: You can share all your Android devices at once using the new Share All feature. – Koushik Dutta (Koush) – Google+

Vysor links:

Read the rest of this entry »

Posted in Android, Android Devices, Development, Mobile Development, Power User, Vysor | Leave a Comment »

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 »

git svn broken on Mac OS X under SourceTree but not from the terminal: how to fix it.

Posted by jpluimers on 2016/07/05

Not on the terminal, but only in SourceTree I got this error (full text below):

Can't locate SVN/Core.pm in @INC

Well, the Xcode binaries were here:

 $ xcode-select -p
/Applications/Xcode.app/Contents/Developer

On Mavericks, perl is this version:

$ perl --version | grep -w for
This is perl 5, version 16, subversion 2 (v5.16.2) built for darwin-thread-multi-2level
(with 3 registered patches, see perl -V for more detail)

and git is this:

$ git --version
git version 1.9.5 (Apple Git-50.3)

Steps for fixing are at these blog entries:

All these solutions point you to change the system Perl installation, but since on my system it failed only on SourceTree, but from the terminal, I wanted to fix SourceTree.

Read the rest of this entry »

Posted in Apple, Development, DVCS - Distributed Version Control, git, Mac OS X / OS X / MacOS, OS X 10.9 Mavericks, Power User, Source Code Management, Subversion/SVN | 4 Comments »

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 »