Foonsearch

JM, applaus voor jezelf. Hier, als ontspanning een wat luchtiger VN-artikel over het handwerk:

Vrij Nederland - Hacken down the rabbit hole - 28 april

Lees ook de kick-off van deze serie, waarin Gerard vertelt waarom hij een jaar uittrekt om zichzelf te leren hacken: ‘Al langer ben ik gefascineerd door hackers: onopvallende personen die met een laptop beschikken over superkrachten.’

OpenPapyrus, het lijkt gewoon spul voor kassasystemen:

content

Система управления предприятием OpenPapyrus

Развитая система для управления малым и средним предприятием. Включает очень обширный функционал ERP, CRM, Point-Of-Sale.

Github:

papyrussolution/OpenPapyrus:

Sophisticated ERP, CRM, Point-Of-Sale, etc. Open source now. This system is developed since 1996.

Weet een Rus dat wel, ‘papyrus’ is een beetje muf als naam? Helemaal niet:

github.com/search?q=papyrus => 564 repository results 

Elke dag weer wat bijleren:

github.com/search?q=papyrus&l=Papyrus&type=Repositories => 37 repository results 

Papyrus blijkt onder andere ook een scripttaal voor gamers, Skyrim en Fallout 4 zie ik genoemd worden:

HavokKiller

Kill Havok by attaching script to an object.

OnActivateArmor

Add a piece of armor to the player’s inventory and display a message upon activation of a primitive or activator.

Enzovoort. Het bekende werk, net echt, onderling hebben zij het dan over ‘mods’ of wat?

hex

Echt niet, hier is serieus aan gewerkt. Bij Github zijn bijvoorbeeld deze projecten gestald:

- JSON-based data structures for Papyrus (TESV Skyrim scripting language)

- Initial SKSE Plugin to expose OpenVR to Papyrus

- A PEX to Papyrus Decompiler for Fallout 4

- A compiler for the Papyrus scripting language used by the Creation Engine.

- A Notepad++ plugin for Papyrus

- Papyrus LLVM compiler

Nou, om met Zeeuws meisje te spreken, ik moet weer gaan hoor! Jij zat op 164 woorden, ga ik jou niet ove

Hoi Weerman,

JM, applaus voor jezelf. Hier, als ontspanning een wat luchtiger VN-artikel over het handwerk:

Haha, hacken is m.i. een professie. :wink: Je ‘kan’ dit niet aan anderen vragen, maar je moet zelf opzoek gaan naar de kennis, die o.a. op internet te vinden is. In verleden leerde je iets door op een officiële cursus te gaan. Tegenwoordig kijk je naar Youtube filmpjes hoe iets werkt.

Deze software misschien? QT-compatible, Commercial Use, Price £ 999, Buy now with PayPal:
WebKitX ActiveX for CEF3

In mijn beeld maak je een cliënt voor een end-node van uit de QT-source code. Daarom niet veel gebruikers, dus heb je m.i. geen commercial license nodig van QT. Open source versus geld verdienen blijft altijd wel issue bij de projecten. OpenPapyrus maakt denk ik via ingebouwde dlgdsn.exe de menu’s aan. Mogelijk heeft deze oplossing minder schijf ‘footprint’ heeft dan QT. Menu’s zien er wel wat minder uit. Lijkt beetje op de ‘GTK schermpjes’ van Linux vroeger.

OpenPapyrus, het lijkt gewoon spul voor kassasystemen:

Het systeem (OpenPapyrus) is gericht op kleine en middelgrote ondernemingen die actief zijn op het gebied van groot- en detailhandel, industrie, openbare catering, enz. Het is bedoeld voor het bijhouden van boekhoudkundige en grondstofaccounting bij de onderneming, evenals het beheren van gepersonaliseerde boekhouding. Het systeem is gemakkelijk te gebruiken, het heeft voldoende mogelijkheden voor het invoeren, opslaan en verwerken van informatie, het voorbereiden van allerlei soorten rapporten. Het systeem kan worden gebruikt door bedrijfsleiders, economen, accountants, grondstoffenwetenschappers, kassiers, enz.

Mogelijk dat ze geld met kassystemen verdienen. Ik zie ook bovenliggende aspecten. Goederen, inventaris, rapporten maken.

Ze hebben veel libraries die ik ken:

Ik zie ook Redis, Soap, Btrieve, DL200

Openpapyrus_directories

Ik kan makkelijk Russisch vertalen in Nederlands met Google translate:

Gaat om de logica. De logica kan ik ook de kale Xtupel QT client versie ‘poorten’.

Rtlnieuws geeft aan dat Google 90% marktaandeel heeft en Youtube 5%.

Facebook (Messenger en WhatsApp) heeft m.i. de berichtjes-markt in handen.

Ik ben meer voorstander van programma die meerdere channels aankan, zoals Messenger, WhatsApp, etc.

Daarnaast werkt Facebook aan een ‘lichtere’ variant van Messenger. Deze app zou binnen twee seconden opgestart moeten zijn en op een smartphone 30 MB aan opslagruimte in beslag nemen.

Ben beetje opzoek geweest naar onderliggende technieken die Messenger gebruikt. Ik zag dat ze deel van MQTT geïmplementeerd zouden hebben.

Eclipse Mosquitto
Eclipse Mosquitto is an open source (EPL/EDL licensed) message broker that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1. Mosquitto is lightweight and is suitable for use on all devices from low power single board computers to full servers.

The MQTT protocol provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for Internet of Things messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers.

The Mosquitto project also provides a C library for implementing MQTT clients, and the very popular mosquitto_pub and mosquitto_sub command line MQTT clients.

Een andere oplossing:

Eclipse Paho MQTT C++ Client Library
EclipsePaho MQTT C++ client library on memory-managed operating systems such as Linux/Posix and Windows.

This code builds a library which enables C++11 applications to connect to an MQTT broker to publish messages, and to subscribe to topics and receive published messages.

Both synchronous and asynchronous modes of operation are supported.

RetroShare zie ik beetje als een opensource variant van Facebook in QT gebouwd:

Connect with Friends and Family
Retroshare establish encrypted connections between you and your friends to create a network of computers, and provides various distributed services on top of it: forums, channels, chat, mail… Retroshare is fully decentralized, and designed to provide maximum security and anonymity to its users beyond direct friends. Retroshare is entirely free and open-source software. It is available on Android, Linux, MacOS and Windows. There are no hidden costs, no ads and no terms of service.

What’s next?
Now that we have a API to talk to libretroshare, it is time to get into serious business. There’s a bunch of very interesting possibilities of what to do with it, including a social network that would run in a browser while talking to the RetroShare background application.

We introduce an optional distant synchronization of GXS groups ( e.g. a single Channel is a GXS group) that allows to sync subscribed groups using authenticated encrypted tunnels. With this technique, people can search, subscribe and synchronize groups that are not subscribed by immediate friend nodes.

The new search at the bottom of the channel list sends a query across the network and only reports channels that are not already advertised by friends nodes. When a new channel is reported, right click on it and hit “request data” to retrieve the full channel group (which means encryption keys, mainly).

When a hidden node is created or started, RetroShare will look for Tor (which it should find if properly installed on your system) and automatically configure it to run a hidden service which will be used by your friends to connect to you.

RetroShare is a platform that allows users to create a fully decentralized network with a high level of security, privacy and confidentiality. It offers a unique combination of features (File transfer, publishing channels, forums, distributed chat, asynchronous email,…) that provide users lots of ways to interact. Its generic nature allows to create new services based on an existing cryptographic and networking backend.

Overview of the Retroshare platform

  • Services offered by the application (FT, channels, forums, identities, etc)
  • Architecture (libretroshare + Qt UI, main components)
  • Motivation for a JSON API (use of RetroShare as a background library for decentralized communication, Android client, web interface, getting rid of old UI…)

The JSON API

  • Automated serialization
  • Automated JSON API code stub generation
  • Interaction, syntax
  • Authentication

Ik begrijp uit de presentatie dat Json Api toch grote voordelen zou hebben. Heb zelf nog niet zo veel ervaring met Json. Het is wel handig om zo te configureren dat we in lijn met de toekomstige ontwikkelingen (bv Json) blijven.

De hartelijke groet Jan Marco

Toch een ‘hit’ of twintig alleen al in dit forum:

site:opendata-forum.nl json - Google Suche

Deze bijvoorbeeld compleet met verwijzing naar w3schools.com:

Kan jaren goed gaan, niet in aanraking komen met JSON. Het isamelijk voor javascript-adepten:

1  · ingewijde in de geheimen van een kunst of wetenschap van een sekte
1a · (in ’t bijzonder) beoefenaar der alchemie
2  · (bij uitbreiding) iem. die de stijl, de ideeën van een leidend kunstenaar,
     politicus enz. navolgt

Beoefenaar:

JavaScript Developer - Amsterdam - € 5.000 - € 7.000 per maand - Voltijd, Onbepaalde Tijd

Interested to work for one of Amsterdam’s coolest scaleups?

Our client, an award-winning Scale-Up with a reputation for creating a forward-thinking SaaS Product used by globally-recognised brands, is currently looking for a Full-Stack JavaScript Developer on a permanent, full-time basis to work in their Amsterdam office.

Komt-ie:

Experience: JavaScript: 3 years (Required)

“JSON”, nee. Bij een vacature voor iemand in de bakkerij begin je meestal niet speciaal over gist:

Keywords - Node.js, Node, Nodejs, javascript, reactjs, react.js, reactjs, angular, angularjs, angular.js, vue, vuejs, vue.js, back-end, back end, backend, full-stack, full stack, fullstack

Laat je inwijden in de geheimen van een sekte, w3schools.com, tryjson_send:

<p>Convert a string written in JSON format, into a JavaScript object.</p>
<p id="demo"></p>
<script>
  var myJSON = '{"name":"John", "age":31, "city":"New York"}';
  var myObj = JSON.parse(myJSON);
  document.getElementById("demo").innerHTML = myObj.name;
</script>

Dat is handig, je kan de boodschap die daaruit komt door Google laten vertalen:

Преобразуйте строку, написанную в формате JSON, в объект JavaScript.

Джон

Is-ie niet lief:

cat

Snork, too busy IT professional:

What is JavaScript Object Notation (JSON) and how can you put it to work? This concise guide helps busy IT professionals get up and running quickly with this popular data interchange format, and provides a deep understanding of how JSON works.

Je kan dit aan anderen vragen bij Stack Overflow, SO. Why is JSON important?

  • I heard they were going to rename XML to OEML (Over Engineered Markup Language).

Ter zake:

  • What do you mean by ‘Javascript is available everywhere’? If I interface my Java application to a CouchDb instance, I have XML parsers natively available, but no Javascript parser

  • Everywhere in this sense means “on every computer (with a modern browser)”.

  • Note my example above - Java/CouchDb doesn’t involve a browser.

  • As I said it was an exaggeration. I mean from a Web app perspective, it’s available on roughly every client.

  • There are JSON parsers libraries for nearly every language out there. Check near the bottom of the json.org page (a majority of them are written in Java).

Geen wijsneuzen. Bij SO uitsluitend beheerste, zeer goed geïnformeerde bezoekers. Godswonder:

  • The heaviness is a misnomer. It’s really not significantly different than XML, and in simple cases XML can be smaller. In any case, size is not a clear distinguishing factor. The ubiquity is also not a clear factor. The only thing that remains is the javascript friendliness, the ability to eval() received json in a browser app. This is the differentiator and the one thing above all else that has powered adoption of json.

Maar vergat bijna erbij te zeggen:

  • eval() is also recommended against, since it can lead to XSS attacks.

Een heerlijk snufje zout op al je slakken:

  • I don’t agree that json is smaller. is the compact XML format. 44 chars. The compact json is: {person:{“name”:“John Doe”,“tag”:[“friend”,“male”]}} 52 chars. There’s a 25% difference, in favor of XML. XML can be larger, but need not be so.

  • I agree, hence my use of the word “generally”. Once you have arrays of complex items, XML becomes larger than JSON. Surely your misreading of the word “generally” isn’t worth a downvote?

  • Your compact JSON is incorrect, it should be {“name”:“John Doe”,“tag”:[“friend”,“male”]}. This makes it 45 characters, which is still larger than the XML but only by 1 character.

Ome Crockford zelf over zijn petekind:

JSON: The Fat-Free Alternative to XML

JavaScript is such a powerful language that the JSONT transformer is less than a page of code.

The characteristics of XML that make it suitable for data interchange are stronger in JSON.

  • Its simultaneously human- and machine-readable format;

This is true of both formats.

  • The self-documenting format that describes structure and field names as well as specific values;

This is also true of both formats, and it raises the question: If the format is self-describing, why is it necessary to have a schema?

  • The strict syntax and parsing requirements that allow the necessary parsing algorithms to remain simple, efficient, and consistent;

JSON’s syntax is significantly simpler, so parsing is more efficient.

  • The ability to represent the most general computer science data structures: records, lists and trees.

This is the most significant difference. While there are transformations which allow XML to express these structures, JSON expresses them directly. JSON’s simple values are the same as used in programming languages.

JSON’s structures look like conventional programming language structures. No restructuring is necessary. JSON’s object is record, struct, object, dictionary, hash, or associative array. JSON’s array is array, vector, sequence, or list.

Hoi Weerman,

  • Toch een ‘hit’ of twintig alleen al in dit forum:
  • Deze bijvoorbeeld compleet met verwijzing naar w3schools.com :
  • Kan jaren goed gaan, niet in aanraking komen met JSON. Het isamelijk voor javascript-adepten:

Iets lezen en weten dat het bestaat is toch anders dan goed begrijpen hoe het werkt of anders geformuleerd het JSON-concept gemakkelijk kunnen toepassen. N.B. Ik ben al meer met XML in dashboards bezig. Wil niet zeggen dat ik echt XML begrijp. Je kijkt naar andere dashboard voorbeelden die je met Google ‘opzoekt’.

Ik ben erg onder de indruk van RetroShare. Ze zijn helemaal op de decentrale tour. In mijn beeld moet je een optimale mix doen tussen decentraal en centraaloplossing. Centraal heb je (initiële) telefoonboekje met personen en bedrijven met hun PGP-keys die je synchoniseert met jouw vrienden.

Een generiek gegevensuitwisselingssysteem voor vriend-tot-vriend-netwerken
Samenvatting: Gedecentraliseerde private netwerken (of Darknets) beperken de beveiliging van informatie tegen massaspionage. Hoewel een aanzienlijk deel van de decentrale private netwerken bestaan ​​in de wereld van open source, zijn ze meestal gebaseerd op een architectuur "peer to peer" (P2P), waar directe communicatie waarschijnlijk om in te grijpen tussen alle paren knooppunt van het netwerk. Wij richten ons met name op de veilige distributie van gegevens in dergelijke netwerken "Vriend vriend" (F2F), waarbij elk knooppunt van het netwerk communiceert rechtstreeks met een vooraf vastgestelde lijst van vrienden nodes gecontroleerd met behulp van de gebruiker. Veilige gegevensdistributie op dit type netwerk vereist aangepaste algoritmen en privacymodel In dit rapport bieden wij een robuuste, veilige en schaalbare data distributie op F2F netwerken, het aanbieden van pseudo-anonieme identiteiten controleren ze door een reputatie systeem, dat in kringen van vrienden kunnen worden gegroepeerd kunnen worden gebruikt om de verspreiding van informatie te beperken. We presenteren verschillende applicaties op basis van dit systeem, met behulp van forums, distributiekanalen en asynchrone berichtenuitwisseling.

Bovenstaande heb ik vertaald uit het Frans m.b.v. Google-translate.

Je vrienden zijn eigenlijk een buffer tussen jou en de boze buitenwereld:

Zo hebben ze RetroShare opgebouwd. Met JSON API daarbij nadrukkelijk opgenomen:

Dit is de Public info die je van een peer opneemt. Issue is wel Location ID. In Cdfoon is dat natuurlijk ook opgenomen d.m.v. postcode en adres:

In het scherm kan je al beoordeling van iemand (lijkt mij dat dit een persoon of een bedrijf zou kunnen zijn) geven:


Naast “People” ook Product/Dienst button opnemen. Ik denk nog na of je “People” zou moeten vervangen door “Person” en “Company”.

Vanmiddag proberen om RetroShare te compileren in het QT-ecosysteem.
Ik denk wel dat ik Xtuple wel ga integreren met RetroShare. Je logt dan in Postgresql in. In toekomst wil ik dat naar Pinnode (sshd.exe) omleiden.

De hartelijke groet Jan Marco

P.S. Apart is dat ik geen mail buiten het RetroShare ecosysteem kan sturen.

Maar natuurlijk Jan Marco, kan me alleen niet aan de indruk onttrekken, toch een beetje teleurgesteld in je:

hond

En is het niet ook zo dat je anders naar je relatie gaat kijken als je je opeens realiseert dat de eerste date met haar waarschijnlijk ook via het zo populaire 'JSON data interchange format' tot stand kwam:

My love affair with JSON

For me, JSON (JavaScript Object Notation) is a delightful data sharing/transfer format to use. It is simple to use and read. It is very fast to process. It is also subset of YAML which is even easier to read.

Wel dienen de eerste tekenen zich al aan, hunkert opnieuw naar een ander:

Use YAML for JSONSchema definitions. Yes, YAML for JSONSchema definitions. YAML allows comments (JSON doesn’t) and is easier to read for humans.

Sterker nog, je kan je afvragen of hier geen sprake is van “veelwijverij”:

I’ve suffered through CSV, ASN.1, SGML, XML, and custom data formats of various flavors and cannot fully express my love for JSON here.

Goeie vraag. Ik ben altijd trouw gebleven. Delrina, jij hebt haar ook wel eens ontmoet.

Als bekend, met FAX CCIT Group 3 support. Erg makkelijk in de omgang:

/* Make the current image look OK as a 1-bit image */ 
nRet = L_HalfToneBitmap(LEADBitmap, HT_VIEW, 45, 0, NULL, 0); 
if(nRet != SUCCESS) 
   return nRet; 

/* Save the image as raw FAX. */ 
nRet = L_SaveBitmap(MAKE_IMAGE_PATH(TEXT("TMP.TIF")), LEADBitmap, _
       FILE_FAX_G3_2D, 1, 0, NULL); 
if(nRet != SUCCESS) 
   return nRet; 

/* Free the bitmap */ 
if(LEADBitmap->Flags.Allocated)    
   L_FreeBitmap(LEADBitmap); 

Dat jij daar trouwens niet op tippelde zegt ook wat, je bent te aardig :slight_smile:

Had het opzettelijk in kleine letters gehouden, “javascript”, meteen na mijn “JSON”-reprimande …

SO weer, gung-ho, is it JavaScript or Javascript?

  • JavaScript is trademarked by Sun, which is now Oracle. The true naming is ECMAScript but JavaScript is the well known name for it.

  • This is incorrect, JavaScript is not ECMAScript, it’s an implementation of ECMAScript, there’s a big difference there.

  • The letter case is not important for trademarks in US law, therefore JavaScript, Javascript, or even JaVaScRipT is a trademark by Oracle, see: tess2.uspto.gov.

Korte metten mee maken:

  • According to the RFC, the programming language is called JavaScript.

Is in een relatie een verhoogde frequentie niet ook significant? Oh Bert! Oh Delrina!

Al drie of vier dagen op rij steeds iets online gezet jij:

Wat betreft dat RetroShare, in het MaidSafe-forum - ja, eigenlijk het SAFE Network-forum natuurlijk - trouwens, even nog een weetje tussendoor, hun en onze forum-software (Discourse) is afkomstig van dezelfde geestelijke vader (Jeff Atwood) als degene die dat ook voor Stack Overflow concipieerde - maar goed, in dat forum dus keken ze ook licht onder de indruk naar RetroShare …

User @psecdocumentary in ‘Marketing’:

Non-Monetary Incentives For Joining The Safe Network

RetroShare is purely application-based (no web) and in order for the encryption to work at all (and RetroShare is entirely dependent upon its encryption for understandable and obvious reasons) your router has to have extremely good UPnP on board, otherwise its just not going to work properly, if at all.

Though custom router firmware options such as OpenWRT, DD-WRT, etc do solve the UPnP problem, the other problem is that there are still a great many routers that custom firmware platforms simply will not install to just yet. In the current economy, many people do not have the extra money to spare right now to get a good expensive router that will support this sort of thing.

Purely ‘application-based’ verklaart hoe het kan dat speciaal jij er naar kijkt? :slight_smile:

En ‘no web’ was jou ook opgevallen:

Het helemaal kortsluiten:

RetroShare using TOR and I2P would then also no longer need to worry about silly UPnP issues once they create their own plugins to route things through The Safe Network. They would then also be able to store data into The Safe Network and be able to have a website system of their own that co-exists on The Safe Network web, such as for example:

safe://my-website.ext
retroshare://my-website.rs

RetroShare would simply need to create a plugin that is able to communicate with The Safe Network web browser, simple as that.

Over MaidSafe nog: verder opgeschoven binnen de eerder door jou bekritiseerde overstap op ‘Rust’ :slight_smile:

Gisteren in dat forum, wat is dat toch met “quic-p2p”?

QUIC, Quinn & Crust: an update:

We’ll start off with a super quick glossary.

  • QUIC (Quick UDP Internet Connections) is a specification. QUIC is the solution to a number of transport and application layer problems. Whilst it’s very similar to TCP and TLS, it’s implemented on top of UDP.
  • Quinn is the crate we’re adopting QUIC from.

QUIC: A Brief History:

So where did QUIC come from? While we may not agree with their surveillance capitalistic practices, QUIC originated at Google — but stay with us. It was an experimental network protocol designed by Jim Roskind who worked at Google at the time. They deployed it across Chrome, YouTube and Search as well as other services to allow them to observe the protocol in action.

While we may not agree :

However, the version that Google developed is very different to how it looks today. From the wire format of the packets, to the handshake and the mapping of HTTP, QUIC grew organically thanks to open collaboration and a shared goal by many developers of making the Internet faster and more secure.

Hoi Weerman,

Al drie of vier dagen op rij steeds iets online gezet jij:

Ik heb week vrijgenomen om o.a. naar QT te kijken. Ik wil proberen de QT-GUI programma’s te compileren. Best wel een uitdaging. Verschillende recepten en ook een andere compiler platform ‘MinGW’ wordt vaak gebruikt. Als voorbeeld hiervan.

  • RetroShare;
  • Xtuple;
  • Npackd-cpp;
  • QtBitcoinTrader;
  • Pgmodeler;

’OpenPapyrus’ zie ik naast bovenstaande QT platform staan. Sobolev (van OpenPapyrus ) wil proberen OpenPapyrus m.b.v. autotranslation te doen vertalen naar het ‘Engels’ en de Nederlandse taal.

Over MaidSafe nog: verder opgeschoven binnen de eerder door jou bekritiseerde overstap op ‘Rust’

Eigenlijk doen ze hetzelfde bij MaidSafe, zij kiezen project dat in Rust implementatie heeft van het QUIC protocol. Het is m.i. voordelig om in hetzelfde habitat te blijven.

The Quinn crate is an open-source implementation of QUIC that has been developed in Rust (the programming language of choice for the backend of the SAFE Network).

Lijkt mij dat we wel naar (de ontwikkeling) van de talen moeten blijven kijken:

Purely ‘application-based’ verklaart hoe het kan dat speciaal jij er naar kijkt?

Ik vind de interface wel mooi. Alle basis aspecten zie ik terugkomen:

En ‘no web’ was jou ook opgevallen:
RetroShare using TOR and I2P would then also no longer need to worry about silly UPnP issues once they create their own plugins to route things through The Safe Network.

Was mij niet zo opgevallen dat ze erg op UPnp functionaliteiten van je router zouden rusten. M.i. is het meer verbindingen met je vrienden (via bijvoorbeeld tunnels, Tor , etc.)

Een plugin naar het Safe Network zou ook goede aanvulling kunnen zijn.

De hartelijke groet Jan Marco

JM, zo zijn we niet getrouwd, mij een tikkeltje te wild, dit geven:

Top Machine Learning Languages on GitHub

  1. Python
  2. C++
  3. JavaScript
  4. Java
  5. C#
  6. Julia
  7. Shell
  8. R
  9. Typescript
  10. Scala

En zeggen dat het over “Programming languages” gaat.

Andere manier van rangschikken bijvoorbeeld hier:

TIOBE index

TIOBE programming community index is a measure of popularity of programming languages, created and maintained by the TIOBE Company based in Eindhoven, the Netherlands. TIOBE stands for The Importance of Being Earnest, the title of a comedy play by Oscar Wilde that was first performed in 1895…

In datzelfde Wikipedia geen Nederlandse versie daarvan maar die heeft weer wel “Kaasmarkt”?

Akkoord maar daar bestaat ook een Engelse tegenhanger van, “Dutch cheese markets”.

Terug naar programmeertalen. Waarom wel, waarom niet daar een programmeertaal laten meetellen:

TIOBE Programming Community Index Definition

In this section it is clarified what counts as a programming language for the TIOBE index. There are 3 requirements that should all hold:

  • The language should have an own entry on Wikipedia and Wikipedia should clearly state that it concerns a programming language. This is the reason why (Ruby on) Rails, Excel, Android, Boost, Cocoa, ASP and AJAX are not considered programming languages for the index.

  • The programming language should be Turing complete. As a consequence, HTML and XML are not considered programming languages.

  • The programming language should have at least 5,000 hits for +“<language> programming” for Google.

Hallo Eindhoven? “Excel” geen programmeertaal?

Nee natuurlijk niet, net als het merk “Vim”, louter schuurpoeder.

Hoe goed is dan hun ‘ranking’ van de eigen lijst met daarin 250+ programming languages?

Hoe geselecteerd? In een onderverdeling naar ‘List of BASIC dialects’ staan al 350 items …

CodeLani - Here is the current list of the 3,156 computer languages I am actively tracking:

How Many Programming Languages are there in the World?

~7,099 spoken languages exist. But how many programming languages exist?

Spoken languages vary widely in popularity. For example. English has 1.5 billion total speakers and 375 million native speakers. Hawaiian, an endangered language, has only ~26,000 native speakers.

Similarly, some programming languages are very popular, others are used moderately, and many are completely abandoned. Java may be the most popular programming language, with approximately ~5.3 million LinkedIn users claiming it as a skill.

The number of programming languages in the world depends on the rules you establish for deciding whether or not a language counts. What do other people say?

TIOBE - 250

The TIOBE index is one of the best lists of popular programming languages and monitors ~250 popular programming languages. TIOBE tracks a programming language if it passes 3 tests: it must have its own Wikipedia page, it must be Turing complete, and a Google search for it must return over 5,000 search results.

Wikipedia - 700

Wikipedia has a list whose goal is to include “all notable programming languages in existence”, that currently lists over 700 programming languages. Wikipedia’s list excludes certain types of languages such as markup languages.

FOLDOC - 1,000

FOLDOC, a 90’s era online dictionary of computing, lists over 1,000 programming languages, though that includes aliases.

The Language List - 2,500

The Language List–started in 1991–tracks ~2,500 computer languages. The Language List includes popular languages as well as many “published languages”. If a language was published in a journal it may be on the list, regardless of its implementation history or popularity.

HOPL - 8,945

HOPL is a collection curated by Diarmuid Pigott. It lists 8,945 programming languages!

Hier als demonstructie de mei 2019 top-tien van die bewusteTIOBE-index

May 2019 May 2018 Programming Language Ratings Change
1 1 Java 16.005% -0.38%
2 2 C 14.243% +0.24%
3 3 C++ 8.095% +0.43%
4 4 Python 7.830% +2.64%
5 6 Visual Basic .NET 5.193% +1.07%
6 5 C# 3.984% -0.42%
7 8 JavaScript 2.690% -0.23%
8 9 SQL 2.555% +0.57%
9 7 PHP 2.489% -0.83%
10 13 Assembly language 1.816% +0.82%

Als tegengif, je ziet dat de helft van jouw wel zeer specifieke lijst niet in deze opsomming voorkomt.

Idem de All-Time-High bij TIOBE, The Importance of Being Earnest:

Programming Language 2019 2014 2009 2004 1999 1994 1989
Java 1 2 1 1 13 - -
C 2 1 2 2 1 1 1
C++ 3 4 3 3 2 2 2
Python 4 7 5 9 26 21 -
Visual Basic .NET 5 10 - - - - -
C# 6 5 6 7 23 - -
JavaScript 7 8 8 8 18 - -
PHP 8 6 4 5 - - -
SQL 9 - - 6 - - -
Objective-C 10 3 34 42 - - -


o/o

Hoi Weerman,

Mooie post over programmeertalen. Wat is een programmeertaal of niet? Boost, MFC dus niet volgens definitie die jij hebt gevonden.

pin node: c of c++, met scripting java python perl. niet teveel vreemde talen denk ik.

Vanmorgen met collega gehad over hoe je tegen windows aan moet kijken.

Microsoft will ship a full Linux kernel in Windows 10

For developers it should dramatically improve the performance of Microsoft’s Linux subsystem in Windows. Microsoft is also promising to update this kernel through Windows Update, and it will be fully open source with the ability for developers to create their own WSL kernel and contribute changes.

Microsoft also announced Windows Terminal today, a new command line app for Windows. It’s designed to be the central location for access to environments like PowerShell, Cmd, and the Windows Subsystem for Linux (WSL).

Shipping a Linux Kernel with Windows
When the WSL kernel source becomes available it will consist of links to a set of patches in addition to the long-term stable source. Over time, we hope this list will shrink as patches make it upstream and grow as we add new local patches to support new WSL features

Microsoft is adding native OpenSSH to Windows 10
Microsoft has been steadily making Windows 10 a lot more developer friendly, adding the bash command line, alongside Ubuntu, SUSE Linux, and Fedora Linux distributions. The software giant is now adding a native OpenSSH client to Windows 10

Het zou prachtig zijn als een open source linux gedeelte in WIndows komt. Lijkt mij goede aanvuling met de source code die ik al gesprokkeld heb.

De hartelijke groet Jan Marco

Jan Marco-san, weten niet. Hulp bij digitale vragen? Studentaanhuis. We hebben nog even tot Vaderdag:

Make the printer staple by default

Step one: Access the HP Embedded Web Server (EWS)

  1. From the Home screen on the printer control panel, touch the Network button to display the IP address or host name.

  2. Open a Web browser, and in the address line, type the IP address or host name of the printer exactly as it displays on the printer control panel. Press the Enter key on the computer keyboard. The EWS opens.

    NOTE: If the Web browser displays a message indicating that accessing the website might not be safe, select the option to continue to the website. Accessing this website will not harm the computer.

Step two: Set up Copy Settings

  1. Configure the copy options in the Copy Settings area. The following settings are available for configuration:
  • Collate

    • For printers that support print-job finishing, each set of copied pages are assembled in the same order as the original document.

      NOTE: If the printer has a stapler installed, select a staple option. To not staple the copies, select “None”.


Wiki.c2.com:

Turing Complete

The Turing machine is usually presented as a read-write head over an arbitrarily long (though finite) length of tape. At each position on the tape is recorded a symbol which the head can read and/or overwrite with a new symbol.

The machine’s programming is mainly determined by a set of states. At each tick of the Turning machine’s clock, the Turing machine reads the symbol recorded at its current position on the tape, writes a new symbol at that position (or possibly retains the existing symbol), moves the read-write head one position to the left or right (or perhaps remains at the current location), and determines the new state to be in at the start of the next tick (again, possibly the same as the current one).

One state is specially marked as the initial state; the machine begins a run in that state. Any number of states may also be marked as final states; the machine ends its run upon reaching one of those states.

HTML dus niet?

His credits include the creation of a naming scheme (URIs), a communications protocol (HTTP) and a language for webpages (HTML).

Dan is dit verwarrend:

Tim Berners-Lee honored with the 2016 Turing Award

The award, which is often referred to as the Nobel Prize for the computing industry, is present annually by the Association for Computing Machinery (ACM) to an individual who made “major contributions of lasting importance to computing.” It is named in honor of British mathematician and scientist Alan Turing and backed by a $1 million prize courtesy of Google.

Github:

Jonahss/Spreadsheets-Without-Macros

I recently had the thought that Spreadsheets might be Turing complete, and am assembling some examples of what can be done with Spreadsheets alone.

These examples demonstrate what can be done, and can hopefully serve as a learning tool for those who wish to learn in a visual setting about the way our computers work.

Aan de slag:

clock_a clock_b

Beperking:

OpenOffice.org Calc does not support iterative spreadsheets (which allow circular references) the same way that Microsoft Excel does, so I am forced to use one simple macro which increments one cell continuously.

It’s turing machines simulated using a reactive programming paradigm!

Het hulpstuk, ‘scheduled events’ met behulp van de Excel VBA Application.OnTime Method:

Sub Run()
   
  Set Age = Worksheets("GearsAndSprings").Range("Age")
  Age.Value = Age.Value + 1
  Application.OnTime Now + 1 / 86400, "Run"

End Sub

Hoi Weerman,

Wat ik leuk vond van criteria is of het wel of geen Wikipedia entry heeft. Wat ik vroeger heb begrepen is dat iedereen een entry op Wikipedia aan zou kunnen maken. Dus afhankelijk of iemand dat doet is het wel of geen officiële taal.

Gisteren met checken van Opencapyrus bezig geweest. Sobolev heeft Nederlands-Engels en Duits geloof ik ook aanpassingen in programma aangebracht. Je kan starten met ppw.exe /uilang:nl Probleem is dat er nog veel statische Russische Teksten in source code staan. Die na detectie van taal naar de juiste vertaling tonen is een hele leuke uitdaging.:yum: Ik zou het liefst voor database oplossing gaan., maar Opencapyrus gebruikt geen echte database engine (denk ik). Je ziet op internet ook wel dll-taal oplossingen.

Het programma ziet er m.i. wel prachtig uit. Voordeel is dat GUI veel minder zware footprint heeft dan QT. Maar QT oplossing zie ik wel als langer termijn oplossing. Ik kan in Opencapyrus de logica van ERP pakket leren en mogelijk dit gebruiken voor QT langere termijn oplossing. N.B. In combinatie met RetroShare geeft meer de toekomstige manier van zakendoen. Je werkt dan m.i. in channels met klanten en leveranciers.

In Opencapyrus zitten ook paar GSOAP koppelingen. In Nederland wordt ook door bedrijven en overheid SOAP gebruikt. Ik ben beetje aan onderzoeken, waar ik deze koppelingen kan vinden. Lijkt mij leuk om deze in ons Telefoonboekje op te nemen.

One would think that writing a client application using the Simple Object Access Protocol (SOAP) in Visual C++ would be a non-trivial task. SOAP interface calls are (more or less) human-readable text transported across HTTP, a ubiquitous Internet transport protocol. It should be a simple matter of putting together the proper data payload, wrapped in properly formatted HTTP and SOAP headers, and sending the message across the wire, taking into account SSL security. The reality is interacting with eBay using SOAP and C++ is not as straightforward as one might think.

This article describes the process for creating a basic application for interacting with eBay using SOAP in Visual C++. The application will retrieve the official eBay time from the eBay server using Visual C++ 2008, gSOAP, OpenSSL, and the eBay API.

This article will walk through the process of using gSOAP to connect with Amazon Web Services’ Simple Storage Service (S3). We will create a bucket and then upload an object to the bucket using a streaming DIME attachment.

gSOAP (website/SourceForge) is a toolkit that auto-generates SOAP and XML data binding for C and C++. It simplifies the development of SOAP/XML web services, and in our case, the consumption of existing Web services.

Amazon S3 is a web service that is used to store files. They offer a SOAP API, so we can easily use the gSOAP toolkit to generate code to interact with AWS S3.

Genivia is bedrijf die SOAP heeft verder ontwikkeld:

As developers ourselves, we fully understand the demands and challenges to implement modern Web services and REST APIs that must be fast, rock-solid robust, and super secure. Our gSOAP toolkit allows C/C++ developers to focus on application logic instead of infrastructure, resulting in reduced development time, fewer bugs, and faster time to market.

Weerman, Mogelijk heb jij ook ervaring met GSOAP? Lijkt mij leuk om via SOAP te gaan ontwikkelen in kader van de (RetroShare) channels. Mogelijk dat je producten kan kopen, bestellen, reserveren met GSOAP. Dit rechtstreeks van client naar (web)winkel/bedrijf/overheidorgaan. Maar ook afspraken maken met GSOAP in iemands zijn/haar agenda.

Weerman, Hopelijk heb jij wel visie/beelden hoe jij GSOAP ziet? Is het haalbaar om GSOAP daar voor te gaan gebruiken?

De hartelijke groet Jan Marco

Wilma! Waar is de Suprimal! Geintje, JM. Flauwe grappen van Weerman, vraag nu de gratis catalogus!

U vraagt, wij draaien:

Introduction

Whenever a new technology comes along, the whole technical community reaches to
grasp the details as well as the implications. If this technology represents a “sea change”
in the way that computers are programmed, the need to comprehend becomes a matter of
technical survival.

Web services represents a sea change. There have been other drastic changes in the computing
environment in the past few decades. Here are a few of them:

  • Stored programs replaced punch cards and paper tape.
  • Online systems largely replaced batch systems.
  • Graphical user interfaces replaced green screens.
  • Networked computers replaced standalone computing.
  • Internet-based systems replaced LAN-based systems.

In a year or two we will add the following:

  • Web services–based systems replaced simple Internet-based and LAN-based> systems.

One of the characteristics of a sea change is that it negatively impacts the employment
prospects of everyone who gets left behind. After online CICS became popular, batch
COBOL programmers had trouble finding work. DOS programmers went looking after
Windows was introduced. Client-server programmers found the going tough after
Internet-based systems became widespread.

Sams Teach Yourself Web Services in 24 Hours, First Printing: May 2003. Dat zal verklaren dat een boek dat over ‘Web Services’ gaat het begrip ‘REST’ (zie verder) nog niet kent?

Want ‘SOAP’ komt in de tekst op 840 plaatsen voor tegen ‘REST’ 63 keer, maar bij “rest” wil men in alle gevallen alleen iets zeggen over “rest of the staff”, “interesting proposals”, “restrict the user’s freedom”, “prestige in the marketplace” of “table in a restaurant”.

In bepaalde mate tijdgebonden technologie dus. Bij Stack Overflow zegt iemand, crossover in 2008:

trends

Of ga kijken bij een IT-boeken-uitgever, bijvoorbeeld Apress:

About Us

Apress, a Springer Nature company, is a publisher dedicated to meeting the information needs of developers, IT professionals, and tech communities worldwide.

Achtereenvolgens zoeken naar ‘soap’ levert Showing 42 results met daartussen “Pro RESTful APIs”.

En daarna ‘rest’, Showing 134 results Met daartussen weer die titel “Pro RESTful APIs:sunglasses:

Refine Search, Last 6 Months: Showing 2 results versus Showing 11 results.

Wat is dat met “Pro RESTful APIs”? Blurb Apress:

Discover the RESTful technologies, including REST, JSON, XML, JAX-RS web services, SOAP and more, for building today’s microservices, big data applications, and web service …

Wil je SOAP en REST naast elkaar gezet hebben, zie hier of hier . Anders gewoon maar de tabel uit dit boek? SOAP vs. REST comparision:

TopicSOAPREST
OriginSOAP (Simple Object Access Protocol) was created in 1998 by Dave Winer et al. in collaboration with Microsoft. Developed by a large software company, this protocol addresses the goal of addressing the needs of the enterprise marketREST (Representational State Transfer) was created in 2000 by Roy Fielding at UC, Irvine. Developed in an academic environment, this protocol embraces the philosophy of the open Web.
Basic ConceptMakes data available as services (verb + noun), for example “getUser” or “PayInvoice”Makes data available as resources (nouns), for example “user” or “invoice”
ProsFollows a formal enterprise approach. Works on top of any communication protocol, even asynchronously. Information about objects is communicated to clients. Security and authorization are part of the protocol. Can be fully described using WSDLFollows the philosophy of the Open Web. Relatively easy to implement and maintain. Clearly separates client and server implementations. Communication isn’t controlled by a single entity. Information can be stored by the client to prevent multiple calls. Can return data in multiple formats (JSON, XML etc.)
ConsSpends a lot of bandwidth communicating metadata. Hard to implement and is unpopular among Web and mobile developersOnly works on top of the HTTP protocol. Hard to enforce authorization and security on top of it.
When to useWhen clients need to have access to objects available on servers When you want to enforce a formal contract between client and serverWhen clients and servers operate on a Web environment. When information about objects doesn’t need to be communicated to the client
When not to useWhen you want the majority of developers to easily use your API When your bandwidth is very limitedWhen you need to enforce a strict contract between client and server. When performing transactions that involve multiple calls.
Use casesFinancial services Payment gateways Telecommunication servicesSocial media services Social networks Web chat services Mobile services
Exampleshttps://www.salesforce.com/developer/docs/api/ -Salesforce SOAP API https://developer.paypal.com/docs/classic/api/PayPalSOAPAPIArchitecture/ -Paypal SOAP API https://dev.twitter.com/ https://developer.linkedin.com/apis
ConclusionUse SOAP if you are dealing with transactional operations and you already have an audience that is satisfied with this technology.Use REST if you’re focused on wide-scale API adoption or if your API is targeted at mobile apps.

Zit niet in hun publieke uitleenservice:

WayBack Machine

Internet Archive is a non-profit library of millions of free books, movies, software, music, websites, and more.

Maar dat hoeft nog niet te betekenen dat je er niet elders op het Net even in kan bladeren:

Pro RESTful APIs - Design, Build and Integrate with REST, JSON, XML and JAX-RS

Chapter 3: Introduction - XML, JSON

This chapter introduces basic concepts about XML and JSON. At the end of this chapter
there is an exercise for environment setup.

Als je als oefening het door de auteur opgegeven huiswerk zou doen:

  1. Open browser and type in URL http://localhost:8080/lab1/rest/hello to see the results as below.

    hello

Jan Marco, als je toch met SOAP aan de gang wil dan zou “gSOAP” een ‘top-rated framework’ voor ‘C/C++ Web service APIs and XML’ zijn zie ik hier.

Hoi Weerman,

Je hebt mij erg geholpen met jouw reactie op mijn SOAP(/REST) vraag. Wat ik zie bij mijzelf is dat je termen wel eens van gehoord hebt, echter niet door hebt dat er mogelijk al veel koppelingen zijn die niet in 1 applicatie worden bijgehouden.

Ik kwam achter de GSOAP koppelingen door in de source-code van openPapyrus-ERP te kijken.
Openpapyrus heeft o.a. drie GSOAP koppelingen:

  • Korus (bier merk);
  • Heineken;
  • Pepsi.

Enterprise Management Systeem PAPYRUS
Het systeem is ideaal voor detailhandelaren (producten, apotheken, kleding, schoenen, gefabriceerde goederen), groothandelaren; restaurants, dienstverlenende bedrijven (schoonheidssalons, fitnesscentra, ziekenhuizen, enz.).

Het systeem is perfect aangepast voor netwerkactiviteiten met geografisch gescheiden objecten en kantoren.

Openpapyrus lijkt mij erg geschikt voor MKB. Die nog met Excel en een ‘schoenendoos’ naar de accountant gaan werken.Tevens geloof ik dat IT nog ‘niet zo goed is’ bij de ZZP-ers.

Ik zie op internet dat je ook SOAP koppeling naar Ebay zou kunnen maken.

Making a Trading API Call

To perform a particular task with the Trading API (e.g., list an item), you need to send a request using a call. The call names are fairly self-explanatory, like AddItem — which lists an item. The schema defines the messages that you can use to access the eBay database. The API uses request-response style operations.

This document explains how to make a Trading API call. It provides an overview of the formats and parameters you can use with the Trading API.

WQsEJ

Mijn voorkeur zou SOAP hebben als er ook MQ in zit om de SOAP berichten te storen.

Ik zie voor mij in de eindsituatie dat je in RetroShare een channel met SOAP of REST kan aanmaken naar een bedrijf, overheidslichaam of persoon.

For API’s REST makes sense because they are portable, simple to use, scalable, and easy to integrate with. For development of web services in general I am not so sure.

If the security is a major concern and the resources are not limited then we should use SOAP web services. Like if we are creating a web service for payment gateways, financial and telecommunication related work then we should go with SOAP as here high security is needed.

Vanmorgen kwam ik op idee dat mogelijk wel mooi is om Sqlyog (wat ik Voipe heb genoemd) te gaan migreren met Opencapyrus:

Ben aan nadenken hoe het beoogde samengestelde hoofdscherm er uit zou kunnen zien.

Denk aan:Home Reference Network Channel People Organization Product Service Operation Production Reporting Admin Help Quit

Ik kijk daarbij ook met half oog naar het RetroShare hoofdscherm. Op langere termijn lijkt mij QT (QUI) platform beter. Echter windows resource oplossing is makkelijkst te integreren. Ik hoef alleen maar twee resource files samen te voegen:

Tweede punt bij migratie is de code van Voipe mee te laten compileren in het project Opencapyrus. De code is helemaal uitgezocht, dus zou makkelijk moeten kunnen. Daarna heb je wel veel mogelijkheid om de ERP-data beter op te slaan in de database engine Mysql.

Korte termijn oplossing kan je veel bij leren om een betere langere termijn oplossing (QT en Postgresql) te gaan maken.

De hartelijke groet Jan Marco

Jan Marco, ik verval dikwijls in herhalingen? Hier, uit het oude forum, ik tegen jou in april 2004:

Blocks Extensible Exchange Protocol (BEEP)

If you need to design a protocol that really fits your application, you want BEEP – an integrated collection of building blocks that gives you best in class data transmission solutions for everything from framing to security. Whether youre writing a simple fetch client/server application or a multi-threaded peer-to-peer relaying system, BEEP provides the necessary functionality without extra overhead.

In een artikel een keer ‘BEEP creator’ Marshall Rose citeren:

“Engineers design protocols the way monkeys try to get to the moon that is, by climbing a tree, looking around, and finding another tree to climb.” (Marshall T. Rose)

En nog een keer citeren:

“You can Solve Any Problem… if you’re willing to make the problem small enough.” (Marshall T. Rose)

Vervolgens veel waardering uiten:

Das Netz der Zukunft: Protokollstandardisierung in der Sackgasse?

Genau das war das Ziel, als 2001 die IETF das Blocks Extensible Exchange Protocol (BEEP) veröffentlichte. Es wurde ein universelles Nachrichtenprotokoll geschaffen, das sich an viele Aufgaben leicht anpassen lässt. Mechanismen, die sich in Anwendungsprotokollen bewährt haben, wurden in BEEP integriert.

Auf dieser Basis können Entwickler ihre Interprozesskommunikation und Schnittstellen modellieren, ohne sich mit den Details der Übertragung auseinander setzen zu müssen. Komplexe Anforderungen wie Asynchrone Kommunikation, Kanäle und Flusskontrolle, stehen für eine skalierbare Kommunikation bereit.

Eine herausragende Eigenschaft von BEEP ist jedoch die Möglichkeit, eigene Profile zu entwickeln, die Syntax, Semantik und Kommunikationsmuster festzulegen und über eine einzige TCP-Verbindung bereitgestellt werden können. Es ist ohne weiteres möglich, HTTP, MQTT oder andere Protokolle als Profil nachzubilden.

Prozesse die sich verbinden, müssen nur einen Port kennen und erhalten eine Liste der zur Verfügung stehenden Dienste. Das Problem der Abwärtskompatibilität wird mit BEEP gelöst, indem zwei Versionen eines Profils gleichzeitig betrieben werden.

Met ook een schemaatje:

  beepstack

En dan een verstandig slotwoord zoveel jaar later:

BEEP ist vielleicht nicht die Lösung der Zukunft, jedoch zeigt der Standard (2001) wie eine generelle Lösung für das eigentliche Problem, den Austausch von Nachrichten, aussehen kann.

Wikipedia: Rose is presently the Principal Engineer at Brave (web browser).

Yay! In ‘Meet the Team’, vierde rij van boven, ‘Principal Engineer’ …

Hoi Weerman,

Jan Marco, ik verval dikwijls in herhalingen? Hier, uit het oude forum, ik tegen jou in april 2004:

Het plaatje “Rest/Soap” heb ik gevonden door jouw links. :wink:

Wel leuk dat het woord “BEEP” mij nog bekend voorkwam. Echter tegenwoordig zoek in direct met Google naar “BEEP github”, effe kijken of er een project voor is, daarbij kijk ik ook of er nog recent source is geupdatet. Als project 4 jaar oude source bevat, denk ik dat het verouderd is…

Whether youre writing a simple fetch client/server application or a multi-threaded peer-to-peer relaying system, BEEP provides the necessary functionality without extra overhead.

“to good to be true” :smile:

“Engineers design protocols the way monkeys try to get to the moon that is, by climbing a tree, looking around, and finding another tree to climb.” (Marshall T. Rose)

Ik zou zelf engineers niet gaan vergelijken met “monkeys”. De engineers die ik ken zijn best wel serieus/professioneel. Ik denk dat je het beter zo zou kunnen formuleren dat wij steeds hoger op een berg gaan klimmen en daarbij vaak op een dood lopende pad zijn terechtkomen en dan weer een stuk afdalen om vanuit die positie weer goed doordacht een nieuw pad omhoog uitkiezen.

De hartelijke groet Jan Marco

Hoi Weerman,

Does language choice matter? Often

Is one better than the other? Often

"Hey!!!" you say, "That doesn’t help!"

I know. That’s why we have and use many programming languages. Developers have our favorites, of course, but the solutions to some problems are better expressed in certain languages than others. In addition, certain kinds of bug just cannot appear when you use certain languages and other kinds of bug are easy to introduce:

There’s no substitute for understanding your programming language - its power and its shortcomings.

Blijkbaar is de ene “programming language” de andere niet. :wink:

How to build V8 on Windows and not go mad

My plan was to build a simple application that embeds V8. And since not many web developers know that event loop is not implemented by V8 but by a hosting environment I wanted to demonstrate this in my app. I also hoped to learn about V8 inner workings along the way.

Since both building and embedding are not trivial this article consists of two parts. The first one shows how to build V8 from the sources on Windows machine. The second part explains what is required to plug it into your application. Currently V8 can only be built on x64 machines so make sure you’re building on Windows x64 version.

Please recommend this article so that others know there is a simpler way to build V8. I really hope this article will save some curious mind much pains.

Vandaag heb ik Google’s Ninja gecompileerd in Visual Studio. Ninja (14177 source regels) wordt gebruikt bij het compileren van V8, Ninja komt overeen als een vervanger van “make”,

De hartelijke groet Jan Marco

Oef, gered door de gong:

OpenSource professional BEEP stack written in C, beepcore implementation, updated Dec 2018.

Maar je hebt gelijk, het heeft er alle schijn van dat het met zijn pootjes omhoog obsoleet ligt te wezen.

Evengoed, bijvoorbeeld deze toy-set van toen uit 2003 doet het nog …

Net als bij “Koopmans Pannenkoeken Origineel” moet je zelf wel met eieren komen:

Implements BeepProfile
Dim m_Enabled As Boolean

Doe de mix in de beslagkom en voeg al roerend toe:

With New wodBeepCom

  .Role = InitiatorRole
  .Profiles.Add New InitiatorListenerProfile
   
  With New BeepTransportTCP.
    .DebugFile = fn
    .Port = 2552
  End With
  
  ...

Serveer eens met stroop of jam? In de bewuste ‘Beep.Transport.Debugfile’ vindt je dan:

*** New TCP session started, Role=1
*** Socket Accepted, Error=0
-------------------->>initiator>>--------------------
RPY 0 0 . 0 51
Content-type: application/beep+xml
<greeting/>
END
-------------------->>listener>>--------------------
MSG 2 0 . 0 28
"HELLO from wodBeep server!"END
-------------------->>initiator>>--------------------
MSG 0 2 . 141 15
"Ja, je moeder"END
*** TCP session stopped

Vergeet dat met bloem, snufje zout en 500 ml melk maar:

  this-is-how-we-ve-always-done-it

Vandaag was namelijk opnieuw Wereldkattenfilmpjesdag. Dus pak een garde en voeg al roerend toe:

Mortel (betontype)

Vroeger bestonden mortels voornamelijk uit zand met kalk, met aldus weinig sterkte (minder dan die van de bakstenen). Vandaag de dag bevatten mortels cement, waardoor de sterkte veel hoger is (zelfs hoger dan die van de bakstenen). Een gevolg hiervan is dat scheuren in oude muren door de mortel lopen, in moderne muren loopt de scheur door de bakstenen.

Mortelspecie wordt typisch samengesteld uit 1 deel bindmiddel, 3 delen granulaat en 1 deel water. Indien goed vermengd, zorgt deze verhouding voor een optimale sterkte na uitharding. Meer bindmiddel verbetert de waterdichtheid, maar maakt de specie duurder; meer granulaat verzwakt de sterkte van het resultaat. Het bindmiddel is gewoonlijk portlandcement, soms gemengd met kalk om de specie smeuïger en zo beter verwerkbaar te maken.

Het granulaat is rivierzand; rijnzand, geel zand en/of wit zand worden het meest toegepast. Het water ondergaat een trage chemische reactie met het bindmiddel zodat de granulaatkorrels aan elkaar kleven en de mortel gaat uitharden.

Additieven kunnen de verwerkbaarheid en het eindresultaat beïnvloeden, b.v. op vlak van smeuïgheid, waterdichtheid, hechting, trekweerstand, kleur, enz.

Dat-ie het onderschikt bij “betontype”. Raar, voor “Mortel” als ‘stofnaam’ heeft Van Dale:

1350, ‘steengruis, mortel, cement’

Toen al maar het gaat nog verder terug:

< Lat. mortarium (vijzel, ook: specie)

En hou in de gaten jullie daar bij Wikipedia:

Vroeger bestonden mortels voornamelijk uit ...

Van Dale, meervoud, nee:

mor·tel - de (m.); g.mv.

Kort en goed, van “betontype” wordt bij Wikipedia alleen gerept bij “Mortel” en de term komt verder niet voor, laat staan dat het zorgvuldig gedefinieerd wordt.

Gaan we bij Wikipedia door naar “beton”:

Beton

Door de relatief lage prijs van het materiaal, de relatieve inertie, de eenvoud van het gebruik en door de vele mogelijkheden is beton een veelgebruikt bouwmateriaal. Jaarlijks verbruiken de geïndustrialiseerde landen bijna een kubieke meter beton per persoon.

En net als bij pannenkoekenmix:

Grotere hoeveelheden kan men het best door een betonmortelcentrale laten aanvoeren.

Of door Studio Drift:

  studiodrift

En tot slot chef Betontypes in Wikipedia nog over het opperwezen:

Opperman (bouw)

Een opperman is de arbeider, die in de bouw zorg draagt voor de tijdige aanvoer van materiaal en hulpmiddelen voor de metselaar.

De opperman zorgt ervoor dat de stenen en specie op tijd klaar staan bij de te metselen muur. Verder verricht hij allerlei simpele klussen, zoals opruimen, vegen en schoonmaken. Het beroep valt in de categorie ongeschoold werk.

Parbleu, dat weet hij dan weer wel:

Het bijbehorende werkwoord is ‘opperen’. Van het Middelnederlands operen (knechtwerk doen voor de metselaar). Waarschijnlijk afgeleid van het Latijnse werkwoord operâri (werken).

Pannenkoek kan ook sukkel betekenen, aldus de rechter en dat is beledigend. Betontype, voor jou, keihard.

Hoi Weerman,

Ik zie nu pas: OpenSource professional BEEP stack written in C – beepcore implementation Vortex Library, BEEP Core implementation, RFC 3080 / RFC 3081, XML-RPC, XML-RPC over BEEP, RFC 3529, BEEP Framework, BEEP protocol, BEEP, BEEP library, BEEP libraries, beepcore (Servidores Linux http://www.aspl.es)

De hartelijke groet Jan Marco

Jan Marco, hoi. Over deze twee links die jij gaf nog:

Does language choice matter? C++ or JavaScript?

The primary language for the xTuple ERP core is C++ while the language to use for xTuple extensions is JavaScript.

Ha. Jij moest wel, voor dat xTuple, hihi.

How to build V8 on Windows and not go mad

Sometimes I wonder where my insatiable hunger for JavaScript knowledge will lead me to.

Mei 2019: Jan Marco omhelst JS, ga je toch voor de bijl   :sunglasses:

In dat geval, pannenkoek! Ik bedoel, die kunnen wij samen interactief digitaal bakken blijkt:

How was it built?

CAKE uses standard web technologies html, css, & javascript. At its core is a scheduling algorithm that takes all the information we know about the recipes as well as some information about you (like what you want to cook and for how many people).

Following a recipe with CAKE is different to other cooking shows because it’s not a linear TV programme:

How it works

It customises recipes based on your familiarity with ingredients and methods, your tastes or dietary preferences, and how many people you’re inviting round for dinner. The experience reacts ‘in the moment’ to your progress, allowing you to create new dishes at your own pace. Novices can level-up and experts can cut to the chase, supported by an evolving dialogue between audience and presenter.

It’s BBC R&D’s first fully baked ‘object-based’ experiment:

Cook-Along Kitchen Experience

In the production kitchen we worked with Newcastle University Open Lab to capture data about smart utensils, including the position of crockery and ingredients in shot, and tool orientation and activity (such as knives and zesters).

Met MAX Mee-gekookt worden?

The Kitchen Databox Demo

One such scenario is taking one of the recipes in our CAKE project where we wired up cooking utensils, mixers and spoons with Bluetooth sensors; hooking them up to an instance of Databox we prepared a special version of the chocolate pot recipe expecting input from Databox - not the human cook.

Niet. In plaats van lepeltje-lepeltje aan Sandra of Mounir moet het via je Databox gaan lopen:

Databox

A platform for managing secure access to data and enabling authorised third parties to provide the owner authenticated control and accountability.

Nottingham University research project met als ‘industry partners’ BBC, BT, Microsoft en Telefonica:

Databox Project

The Databox platform is an open-source personal networked device, augmented by cloud-hosted services, that collates, curates, and mediates access to an individual’s personal data by verified and audited third-party applications and services.

The Databox will form the heart of an individual’s personal data processing ecosystem, providing a platform for managing secure access to data and enabling authorised third parties to provide the owner with authenticated services, including services that may be accessed while roaming outside the home environment.

Verplicht het betreffende blokschema met je discussiepartner delen:

architecture

De BBC weer met een nieuw Niemand-Kan-Erbij verhaal:

The Databox has its origins in an emerging school of thought called ‘Human Data Interaction’ or HDI, which sees personal data as an object in its own right rather than a by-product of our mundane interactions with computers and digital services.

JM, weer controleren of jouw broncode van recente datum-eis wel van toepassing is:

The open source platform and app ecosystem code is on our developing repository on GitHub.

Het blijven academici, verbonden aan een Brits instituut, dus is het wel OCaml, Go en? Javascript!  :sunglasses:

Hoi Weerman,

Jan Marco, hoi. Over deze twee links die jij gaf nog:
Ha. Jij moest wel, voor dat xTuple, hihi.
Mei 2019: Jan Marco omhelst JS, ga je toch voor de bijl

Mijn primaire reactie is wel van ‘dat wil ik niet’. Als ik wat meer nadenk zit ik daar vaak “ambivalent” in. Ik heb voorkeur oplossingen (C / C++, MySQL), echter ik vind het belangrijk om te kijken of er geen betere oplossingen (main-stream) ontstaan (denk aan Postgresql, javascript, Python, TensorFlow, etc.) en dan ben ik voorstander om daar toch wel gebruik van te maken. In mijn HTS tijd had ik een Atari ST computer, echter toen ging iedereen een veel minder geavanceerde IBM-cloon kopen, heb toen mijn ‘knopen’ geteld, heb ik ook maar IBM-cloon gekocht, want Atari miste de juiste software pakketen. Hardware kan wel superieur zijn, echter software is ook heel belangrijk.

how-to-build-xx-on-windows-and-not-go-mad:
The task turned out to be not for the faint-of-heart. I spent about a week googling and learning about many thing related to C++ and python . I had to ask four heavily downvoted questions on stackoverflow. I’m going to keep them as a reminder of the efforts it took me to build the thing.

Bovenstaande herken ik. 20 jaar geleden heb ik al eens een keer 2 weken vrijgenomen om MySQL te compileren op Linux. Was vroeger niet eenvoudig. Paar weken geleden QT projecten proberen te compileren. Geen enkele is echt gelukt zoals bedoeld is. Bij QT Xtuple-client heb ik code zitten uitzetten en dan kreeg ik schamele Xtuple-cliënt-hoofdscherm. Het nu idee gekregen om Xtuple-cliënt tegen de QT Long Time Support te compileren/linken. Indien specifieke QT code, dan in Xtuple-cliënt opnemen. Kortom alle nieuwe dingen kosten initieel veel energie. Als je het geleerd hebt blijkt niet moeilijk te zijn.

The Databox platform is an open-source personal networked device, augmented by cloud-hosted services, that collates, curates, and mediates access to an individual’s personal data by verified and audited third-party applications and services. The Databox will form the heart of an individual’s personal data processing ecosystem, providing a platform for managing secure access to data and enabling authorised third parties to provide the owner with authenticated services, including services that may be accessed while roaming outside the home environment.

Ik ben wel enthousiast over Databox concept. Weerman, Bedankt voor het vinden van het concept.:blush:

Ben effe aan het kijken geweest hoe R werkt. Ik denk dat R ontwikkeld wordt op site r-project. Microsoft heeft een bedrijf overgenomen die de R-code distribueerde. Wat je nu ziet is dat de R ontwikkelaars nieuwe R versie maken en dat Microsoft veel moeite heeft om de code te integreren op het Windowsplatform. Beter zou “shift left” beweging zijn, dat de R ontwikkelaars de Windowsspecifieke zaken ook in hun code meenemen onder een compiler switch.

Microsoft R Open: The Enhanced R Distribution
Microsoft R Open 3.5.3, is based the statistical language R-3.5.3 and includes additional capabilities for improved performance, reproducibility and platform support.

  • Over 10000+ packages are available in CRAN (the Comprehensive R Archive Network);
  • If you use RStudio, there’s no special configuration required. After you install Microsoft R Open, RStudio will automatically find it and use it as the R engine;
  • The open source R language, the most widely used statistics software in the World;
  • R is a complete environment for data scientists.

Wat interessant is “10000+ cran packages”. Zit te denken, zou niet beter om dit onder een GIT paraplu te gaan ´bouwen´.

Weerman, Ik kan mijn nog keer herinneren dat jij tool had die http request riching ing-bank of postbank inzichtelijk maakte. Ik kom niet zo snel meer op hoe de tool heette. Eigenlijk wil ik de communicatie richting ing-bank-praticulier inzichtelijk krijgen en dat gaan automatiseren met o.a. (lib)curl in OpenCapyrus,

De hartelijke groet Jan Marco

Hier, bof ik even, mag ik een keertje geschachteld quoten:

Ging om een bijdrage uit 2015. In een oudere versie van Discourse waar nu de mot in zit, dit is verdwenen:

  hexview

Je kon het daaraan zien, Windows Phone, maar je bent te laat. De Consumentenbond ook, 29 maart 2018:

Windows Phone-gebruikers kunnen alleen nog bij ING mobiel bankieren

Week eerder, TROS Radar:

ING schrapt zomaar app op Windows Phone

Heb zojuist het screenshot wel nog even ook daar teruggezet voor je maar:

Tool, denk dat ik het destijds met dit ding bekeken heb:

File descriptionDis#
Product nameDis#· .NET decompiler
Product version3.1.1.0
CopyrightNETdecompiler.com 2004-...

De rechter, “Dit is niet mijn wereld vriend”? Je mag jezelf verdedigen:

Legality Of Decompilation

If decompilation is possible to a certain extent, is it then also allowed?

Decompilation can be used for a number of reasons, including:

• Recovery of lost source code (by accident or via a disgruntled employee),
• Migration of assembly language applications to a new hardware platform,
• Translation of code written in obsolete languages no longer supported by compiler tools,
• Determination of the existence of viruses or malicious code in the program, and
• Recovery of someone else’s source code (to determine an algorithm for example).

However, not all uses of decompilers are legal uses.

En togas dweilen met de kraan open, Teletekst “Binnenland” vandaag:

Forse stijging fraude, fraudeurs verdienen steeds meer door mensen geld af te troggelen …

Via “sms’jes of whatsapp”. Anders andere tonijn dan de dure blauwvin voor sushi bijkleuren met bietensap:

Vandaag in Kassa: Gezondheidsrisico’s in sushi van rauwe tonijn

Om de website goed te laten werken, worden er cookies gebruikt. Wij plaatsen ‘functionele cookies’ om de site goed te laten werken én ‘analytische cookies’, waarmee wij het gebruik kunnen meten

Hieronder kan je aangeven welke andere soorten cookies je wilt accepteren of afwijzen. Daaronder kun je jouw instellingen opslaan.

Kassa, mag dat zomaar:

Dat is zeer profijtelijk en er worden grote winsten gemaakt. Maar het is levensgevaarlijk, want door dat bijkleuren kan de consument niet meer zien dat de vis bruin is geworden en is bedorven.

In het ergste geval dodelijk maar stel nou dat zo iemand daardoor genoodzaakt is zich ziek te melden:

Het slechte huwelijk tussen UWV en ict

Een half miljard euro. Zoveel reserveert het UWV de komende vijf jaar om haar eigen ict-landschap ‘fundamenteel te vereenvoudigen en te vernieuwen’. Het wordt voor het UWV een proeve van bekwaamheid: heeft het na zeventien jaar ict-schandalen genoeg geleerd om het recentste plan, met termen als ‘efficiency, ‘agile’ en ‘parametrisatie van asynchrone (bulk)leveringen’, tot een succes te maken?

Aan 800 respondenten vragen of ze wel twee keer in de week vis eten. 85 procent gaf aan dit niet te halen:

 

Doen we dat, speciaal voor jou JavaScript calculator inzetten:

// Display result
viewer.innerHTML = resultNum;
equals.setAttribute("data-result", resultNum);

Met het laatste kleuterje afgerond naar boven kom je dan op 14.722.370 volwassenen en kinderen die zich aan de stevige salarissen voor ict-managers storen:

In 2004 bouwde Capgemini aan een systeem dat 14 miljoen euro moest kosten, maar uiteindelijk kwam de rekening uit op 400 miljoen euro.

In 2008 werd een nieuw systeem voor arbeidsongeschiktheidsuitkeringen gestopt terwijl al 90 miljoen was uitgegeven.

Visvetzuren zijn goed voor je hart en bloedvaten. Advies, 1 keer per week bij voorkeur vette vis eten:

Het UWV heeft sinds 2002 zo’n 3 miljard euro uitgegeven aan automatiseringskosten. Uit jaarverslagen zou blijken dat de jaarlijkse uitgaven aan deze kostenpost rond een kwart miljard euro liggen.

Vis is gezond! En zeker verse vis! Welles nietes, het UWV:

Het slechte huwelijk tussen UWV en ict:

In werkelijkheid is dat een verzameling grote en kleine projecten, waarvoor vijf jaar lang 100 miljoen euro per jaar is gereserveerd, bovenop de jaarlijkse ict-kosten van 300 miljoen euro. Dat budget is niet anders dan in voorgaande jaren.

Wat te denken van dat rijstballetje belegd met rauwe visreepjes en gewikkeld in zeewier, sushi:

Werkvloer UWV vecht ict-plan bij rechter aan

De ondernemingsraad van uitkeringsdienst UWV stapt naar de rechter om een ict-vernieuwing tegen te houden die de organisatie 500 miljoen euro gaat kosten. Het personeel denkt dat het project tot mislukken is gedoemd.

Weet niet hoever ze daar mee zijn maar als dat bedrag onverwacht voor de burgerij beschikbaar komt:

PRICES AT TOYOSU WHOLESALE MARKET, MAY 14, 2019
https://www.st.nmfs.noaa.gov/st1/market_news/japan-wholesale.txt

Species          Sales volume         Origin                Price  (yen/kg)
                      kg                                 High   Average    Low
BLUEFIN TUNA
 Fresh              31,134        Domestic, Miyagi      4,860     2,276  1,404

Heeft die JavaScript calculator niet, omrekenen JPY/EUR, ff via Google, 18,60 euro gemiddeld per kilo?

Vacuum verpakt duikt het hier in Den Oever op voor 27,50 en elders voor 30,00 euro per kilo maar kan dat kloppen? Rotterdam, log in om uw gespaarde zeemijlen te zien:

Tonijn, sashimi 100 gram 

Subtotaal        €  7,00
Verzendkosten 	 €  7,60
Totaal 	         € 14,60

Gunst, aan de prijs wel, 146,- per kilo. Elders, Londen, “Otoro for Sashimi, Frozen, £43.95”, per 250 gram?

Daarop beknibbelen zal de uitkeringsorganisatie toch ook niet op haar geweten willen hebben. Het gaat hier tenslotte om de gezondheid van heel veel mensen.

Kom ik uit op 200 euro per kg en JM, kom jij dan niet uit op, waar het UWV mee komt, dat geld gedeeld door het aantal mensen dat geen vis lust, een bedrag van zeg 34 euro? Voor iedere deelnemer - inclusief degenen die bij het UWV werken, 19.300 mensen - over 5 jaar verdeeld te besteden aan 1000 x 34 / 200 = 170 gram tonijn. Komt goed uit dat het al ingevroren geleverd wordt.

Om de meeste voordelen uit je sushi te halen, kies je het best voor stukken rijk aan omega-3-vetzuren.

Ja, de portiegrootte, hoever kom je met 170 / 5 = 34 gram tonijn, is daar nog iets van te …

Fuck, moet je kijken, we hebben geen tijd te verliezen verdomme:

 

Alarm, UWV! Help, die teller is nu al volledig aan het teruglopen!