Editing
Computing
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
<big>'''My Computing Area'''</big> == Personal Computer == [[Personal Computer]] section == Web based utiliites == [http://www.network-science.de/ascii/ ASCII generator] == Networking == [[Networking]] section == Video Games == [[Video Game]] == Programming & Scripting == [http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html TIOBE Programming Community Index] [[Jupyter|My Jupyter notes]] === ASN.1 === [[My ASN.1 Notes]] === PHP === [[PHP]] === C++ === [[My C++ Notes]] === C Sharp === [[My C Sharp Notes]] [https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/ Parallel programming] [http://www.mikeadev.net/2012/07/multi-threaded-tcp-server-in-csharp/ Multi-threaded TCP server in C#] === Eclipse === [[ My Eclipse]] pages [http://www.eclipse.org/downloads/ Eclipse] IDE tools [http://wiki.eclipse.org/PDT/TUTORIALS Eclipse] tutorials === Python === [[Python|My Python notes]] === Lua === [[My Lua Notes]] [http://www.lua.org/ Lua] is a powerful, fast, lightweight, embeddable scripting language. === shell scripting === === PERL === [[PERL]] [http://mojolicio.us/ Mojolicious] === Java === [[My Java Notes]] [http://netbeans.org/ NetBeans] [http://www.javaworld.com/ JavaWorld] is an ad covered site that offers how-to articles, news stories, and other information on Java development. [http://www.developer.com/index.php?/java developer.com] is a source for Java information [http://www.jguru.com/index.jsp Java guru] has articles and training material === JavaScript === [[JavaScript]] [[My Node.js notes]] == APIs == [[My REST API notes]] [https://apilayer.com/ apilayer] Automate What Should Be Automated. Unparalleled suite of productivity-boosting Web APIs & cloud-based SaaS Applications for developers and companies of any size. [http://restcountries.eu/ REST Countries] Get information about countries via a RESTful API === OpenAPI === [https://app.swaggerhub.com/help/tutorials/index Swagger v2 tutorials] [https://app.swaggerhub.com/help/tutorials/openapi-3-tutorial OpenAPI v3 tutorial] == Version control systems == '''Pijul''' [https://pijul.org/ Pijul] is a free and open source (GPL2) distributed version control system. Its distinctive feature is to be based on a sound theory of patches, which makes it easy to learn and use, and really distributed. '''Git''' [[My git notes]] [http://git-scm.com/doc Git documentation] == Database stuff == === PostgreSQL === [[My PostgreSQL Notes]] === MySQL & MariaDB === [[MySQL| My MySQL & MariaDB Notes]] section (contains some MariaDB stuff) == Regular Expressions == === Resources === [https://regex101.com/ Regex101] site (very handy online checker and pretty) [http://regexlib.com/ Regex Library] === IPv4 address examples === <pre>^(([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.)((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){2}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$</pre> Some test formats: <pre>1.0.0.0 < - matches 0.0.0.0 <- no match 1.0.0.255 < - matches 1.01.0.255 < - no match 1.255.255.255 < - matches 1.256.255.255 < - no match 255.255.255.255 < - matches 256.255.255.255 < - no match</pre> ==== IPv4 with slash & network mask ==== <pre> ^(([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.)((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){2}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\/([1-9]|[1-2]\d|3[0-2])$</pre> Some examples to test: <pre>1.0.0.0/1 < - matches 1.0.0.255/30 < - matches 1.255.255.255/24 < - matches 255.255.255.255/10 < - matches 1.0.0.0/100 < - matches 1.0.0.255/0 < - no match</pre> === IPv6 address examples (hexadecimal formats only) === Long form only: <pre>^([0-9a-fA-F]{4}:){7}[0-9a-fA-F]{4}$</pre> Medium form that allows leading zeros in hextet: <pre>^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$</pre> Medium form that does not allow leading zeros in hextet: <pre>^(([0-9a-fA-F]{1}|[1-9a-fA-F]{1}[0-9a-fA-F]{1,3}):){7}([0-9a-fA-F]{1}|[1-9a-fA-F]{1}[0-9a-fA-F]{1,3})$</pre> Some test formats: <pre>0:0:0:0:0:0:0:0 7:6:5:4:3:2:1:0 ffff:ffff:ffff:ffff:FFFF:FFFF:FFFF:FFFF 0fff:ffff:ffff:ffff:FFFF:FFFF:FFFF:FFFF (invalid due to leading 0 in first hextet group)</pre> ==== IPv6 with slash & network mask ==== <pre>(^(([0-9a-fA-F]{4}:){7}[0-9a-fA-F]{4})|(^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}))\/([1-9]|[1-9]\d|1[0-1]\d|12[0-8])$</pre> Some test formats: <pre>0:0:0:0:0:0:0:0/69 < - matches 0:0:0:0:0:0:0:0/1 < - matches 7:6:5:4:3:2:1:0/10 < - matches 7:6:5:4:3:2:1:0/99 < - matches 7:6:5:4:3:2:1:0/128 < - matches 7:6:5:4:3:2:1:0/129 < - no match 7:6:5:4:3:2:1:0/0 < - no match ffff:ffff:ffff:ffff:FFFF:FFFF:FFFF:FFFF/55 < - matches fff:ffff:ffff:ffff:FFFF:FFFF:FFFF:FFFF/119 < - matches 2001:0db8:0000:0000:0000:ff00:0042:8329/0 < - no match 2001:0db8:0000:0000:0000:ff00:0042:8329/20 < - matches 2001:db8:0:0:0:ff00:42:8329/9 < - matches</pre> === IPv4 & IPv6 combined regex === I simply combined the above examples into one pattern that can match various formats. The following pattern matches both IPv4 and IPv6 addresses, both long and medium (allow leading zeros), using single regex: <pre>(^(([0-9a-fA-F]{1,4}:){4,7}[0-9a-fA-F]{1,4})$)|(^([0-9a-fA-F]{4}:){7}[0-9a-fA-F]{4}$)|(^(([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.)((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){2}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$)</pre> ==== IPv4 and IPv6 network and masks ==== <pre>(^(([0-9a-fA-F]{1,4}:){4,7}[0-9a-fA-F]{1,4})\/([1-9]|[1-9]\d|1[0-1]\d|12[0-8])$)|(^([0-9a-fA-F]{4}:){7}[0-9a-fA-F]{4}\/([1-9]|[1-9]\d|1[0-1]\d|12[0-8])$)|(^(([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.)((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){2}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\/([1-9]|[1-9]\d|1[0-1]\d|12[0-8])$)</pre> Some examples <pre>0:0:0:0:0:0:0:0/1 < - matches 0:0:0:0:0:0:0:0/1 < - matches 7:6:5:4:3:2:1:0/10 < - matches 7:6:5:4:3:2:1:0/99 < - matches 7:6:5:4:3:2:1:0/128 < - matches 7:6:5:4:3:2:1:0/129 < - no match 7:6:5:4:3:2:1:0/0 < - no match ffff:ffff:ffff:ffff:FFFF:FFFF:FFFF:FFFF/69 < - matches fff:ffff:ffff:ffff:FFFF:FFFF:FFFF:FFFF/119 < - matches 2001:0db8:0000:0000:0000:ff00:0042:8329/0 < - no match 2001:db8:0:0:0:ff00:42:8329/9 < - matches 1.0.0.0/1 < - matches 1.0.0.255/30 < - matches 1.255.255.255/24 < - matches 255.255.255.255/10 < - matches 1.0.0.0/100 < - matches 1.0.0.255/0 < - no match</pre> === Ethernet MAC address examples === The following MAC address regex examples match lower or upper case hexadecimal values. MAC address format using hyphen between each octet (default output for PowerShell) <pre>^([0-9a-fA-F]{2}-){5}[0-9a-fA-F]{2}$ 98-E7-43-D1-74-D4 < - matches</pre> MAC address format using colon (default for Linux) <pre>^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$ 98:E7:43:-D1:74:D4 < - matches</pre> MAC address format without any delimiters <pre>^[0-9a-fA-F]{12}$ 98E743D174D4 < - matches</pre> Combine all three above regex to match any of three <pre>(^([0-9a-fA-F]{2}-){5}[0-9a-fA-F]{2}$)|(^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$)|(^[0-9a-fA-F]{12}$) 98-E7-43-D1-74-D4 < - matches 98:E7:43:D1:74:D4 < - matches 98E743D174D4 < - matches</pre> ''Note that you must assert start and end characters within the groups above.'' If you use <code>^(([0-9a-fA-F]{2}-){5}[0-9a-fA-F]{2})|(([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2})|([0-9a-fA-F]{12})$</code> (assertions are outside groups) then invalid values would be matched: <pre>98-E7-43-D1-74-D4 98-E7-43-D1-74-D40 < - invalid MAC, but matched regex 98:E7:43:D1:74:D4 98:E7:43:D1:74:D40 < - invalid MAC, but matched regex 98E743D174D4 98E743D174D40 < - invalid MAC, but matched regex</pre> === My regex notes for checking an ASN.1 GeneralizedTime type === '''General (my wording!)''' * ^ means start of string * () means capture everything inside * | means or, aka "pipe" key * [] means single character with rules, rules are inside square brackets * \d means any digit * {} means quantity with specified conditions * ? means zero or one of previous character * $ means end of string Regex based on US requirements for time (within 200ms of event time) plus optional Z offset: <code>^20(19|20)([0][1-9]|[1][0-2])([0][1-9]|[1-2][\d]|[3][0-1])([0-1][\d]|[2][0-4])([0-5][\d])([0-5][\d]).\d{1,3}Z?$</code> Regex explained * <code>^20(19|20)</code> = string starts with exactly 20 followed by 19 or 20 (match year "YYYY format") * <code>([0][1-9]|[1][0-2])</code> = next two characters must match either [0][1-9] or [1][0-2], which means 01-09 or 10-12 (match month "MM format") * <code>([0][1-9]|[1-2][\d]|[3][0-1])</code> = next two characters must match either [0][1-9] or [1-2][\d] or [3][0-1], which means 01-09 or 10-29 or 30-31(match day "DD format") * <code>([0-1][\d]|[2][0-4])</code> = next two characters must match either [0][\d] or [1][\d] or [2][0-4], which means 00-09 or 10-19 or 20-24 (match hour "HH format" in 24-hour format) * <code>([0-5][\d])</code> = next two characters must match [0-5][\d], which means 00-59 (match minutes "MM format") * <code>([0-5][\d])</code> = next two characters must match [0-5][\d], which means 00-59 (match minutes "SS format") * <code>.</code> = next character must be . (period) * <code>\d{1,3}</code> = next 1 to 3 characters must be any digit (match milliseconds .f, .ff, .fff format) * <code>Z?</code> = next character must be zero or one of Z (capital Z). Zero Z means Z is missing * <code>$</code> = end of string (no following characters)</pre> Take examples, like 20190822005901.9Z, 20190801230059.09Z, 20190822005901.991Z, and play around in [https://regex101.com/ Regex101] online tool === ISO 8601 Date and Time format === Date and time with UTC <code>^2(\d\d\d)([0][1-9]|[1][0-2])([0][1-9]|[1-2][\d]|[3][0-1])T(([0-1][\d]|[2][0-3])([0-5][\d])([0-5][\d])|240000)Z?$</code> This matches: * 20231106T240000Z == Miscellaneous Stuff == === Let's Encrypt === Everyone should encrypt everything, end-to-end! [https://certbot.eff.org/docs/using.html#manual User Guide Manual] [https://certbot.eff.org/docs/using.html?highlight=renew#renewing-certificates User Guide renewing certificates] === Ansible === Red Hat [https://www.ansible.com/ Ansible] is a universal language, unraveling the mystery of how work gets done. Turn tough tasks into repeatable playbooks. Roll out enterprise-wide protocols with the push of a button. Give your team the tools to automate, solve, and share. === Haxe === [http://haxe.org/ Haxe] is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities. === Action Script 3.0 === [[Action Script]] ==== Gosu ==== [http://gosu-lang.org/ Gosu] is a programming language for the [http://www.java.com/en/download/faq/helpful_concepts.xml Java Virtual Machine (JVM)]. == Storage Solutions == [https://idndx.com/2017/07/15/building-a-home-nas-system-on-linux/ Building a home NAS system on Linux] == Gaming Technologies == [http://www.udk.com/ UDK] [http://www.bigworldtech.com/ BigWorld Technology] == Graphic Input Devices == Article about [https://www.creativebloq.com/features/best-drawing-tablet Best drawing tablet of 2018] == Interesting Hardware Articles == [http://www.tomshardware.com/reviews/memory-module-upgrade,2264-8.html Benefits from larger amounts of RAM] [http://eecue.com/c/driveslag drive slag] data destruction method == Operating System stuff == [[Linux]] area [[Solaris]] area [[Windows Operating System]] == Software stuff == [[Software|My software notes]] section == Video Voice Fax companies == [https://www.consilient-tech.com/ Consilient Technologies] [http://www.voiceage.com/ VoiceAge] is the forerunner in the development and dissemination of wideband speech and audio compression technologies in the wireless, internet and multimedia fields. == Digital Rights Management == [https://pallycon.com/ PallyCon] provides cloud-based SaaS multi-DRM solution and Forensic Watermarking service. == general stuff == [[Open Systems]] [[Dreamhost]] section [[web development]] [[Old Computer Stuff]] [[Multimedia Center Hardware]] [http://www.khronos.org/opencl/ OpenCL] [[Fun stuff]] [http://www.cablemap.info/ Greg's cable map] === Females in technology resources === [https://djangogirls.org/ Django Girls] is a non-profit organization and a community that empowers and helps women to organize free, one-day programming workshops by providing tools, resources and support. [https://kcwomenintech.org/ Kansas City Women in Technology] a grassroots organization helping to grow the number of women in technology careers in Kansas City. == Why I don't use Apple products == [http://stallman.org/apple.html Richard Stallman] sums up the reasons I don't use Apple. No reason to duplicate. <center>[[Main Page|To Main Page]]</center>
Summary:
Please note that all contributions to GotOpinion may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
GotOpinion:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
Edit source
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information