2,287,480 events, 1,223,659 push events, 1,797,833 commit messages, 127,455,609 characters
This is a horrible hack.
Also, ridiculously fragile, because MAP_FIXED
But, it (mostly ^^) works on my Android 7 devices, where everything is tightly packed and doesn't give a damn about the mmap...
More tests/tweaking later, i'm just comitting this for posterity
Update README.md
What is C++?
C++ is a general-purpose, object-oriented programming language. It was created by Bjarne Stroustrup at Bell Labs circa 1980. C++ is very similar to C (invented by Dennis Ritchie in the early 1970s). C++ is so compatible with C that it will probably compile over 99% of C programs without changing a line of source code. Though C++ is a lot of well-structured and safer language than C as it OOPs based.
Some computer languages are written for a specific purpose. Like, Java was initially devised to control toasters and some other electronics. C was developed for programming OS. Pascal was conceptualized to teach proper programming techniques. But C++ is a general-purpose language. It well deserves the widely acknowledged nickname "Swiss Pocket Knife of Languages."
C++ is a cross-platform language that can be used to create high-performance applications.
C++ was developed by Bjarne Stroustrup, as an extension to the C language.
C++ gives programmers a high level of control over system resources and memory.
The language was updated 3 major times in 2011, 2014, and 2017 to C++11, C++14, and C++17.
About C++ Programming
Multi-paradigm Language - C++ supports at least seven different styles of programming. Developers can choose any of the styles.
General Purpose Language - You can use C++ to develop games, desktop apps, operating systems, and so on.
Speed - Like C programming, the performance of optimized C++ code is exceptional.
Object-oriented - C++ allows you to divide complex problems into smaller sets by using objects.
Why Learn C++?
C++ is used to develop games, desktop apps, operating systems, browsers, and so on because of its performance.
After learning C++, it will be much easier to learn other programming languages like Java, Python, etc.
C++ helps you to understand the internal architecture of a computer, how computer stores and retrieves information.
How to learn C++?
C++ tutorial from Programiz - We provide step by step C++ tutorials, examples, and references. Get started with C++.
Official C++ documentation - Might be hard to follow and understand for beginners. Visit official C++ documentation.
Write a lot of C++ programming code- The only way you can learn programming is by writing a lot of code.
Read C++ code- Join Github's open-source projects and read other people's code.
C++ best programming language?
The answer depends on perspective and requirements. Some tasks can be done in C++, though not very quickly. For example, designing GUI screens for applications.
Other languages like Visual Basic, Python have GUI design elements built into them. Therefore, they are better suited for GUI type of task.
Some of the scripting languages that provide extra programmability to applications. Such as MS Word and even photoshop tend to be variants of Basic, not C++.
C++ is still used widely, and the most famous software have their backbone in C++.
This tutorial will help you learn C++ basic and the advanced concepts.
Who uses C++?
Some of today's most visible used systems have their critical parts written in C++.
Examples are Amadeus (airline ticketing)
Bloomberg (financial formation), Amazon (Web commerce), Google (Web search) Facebook (social media)
Many programming languages depend on C++'s performance and reliability in their implementation. Examples include:
Java Virtual Machines JavaScript interpreters (e.g., Google's V8) Browsers (e.g., Internet Explorer, Mozilla's Firefox, Apple's Safari, and Google's Chrome)
Application and Web frameworks (e.g., Microsoft's .NET Web services framework).
Applications that involve local and wide area networks, user interaction, numeric, graphics, and database access highly depend on C++ language.
Why Use C++
C++ is one of the world's most popular programming languages.
C++ can be found in today's operating systems, Graphical User Interfaces, and embedded systems.
C++ is an object-oriented programming language which gives a clear structure to programs and allows code to be reused, lowering development costs.
C++ is portable and can be used to develop applications that can be adapted to multiple platforms.
C++ is fun and easy to learn!
As C++ is close to C# and Java, it makes it easy for programmers to switch to C++ or vice versa
Definition - What does C++ Programming Language mean?
C++ is an object oriented computer language created by notable computer scientist Bjorne Stroustrop as part of the evolution of the C family of languages.
Some call C++ “C with classes” because it introduces object oriented programming principles, including the use of defined classes, to the C programming language framework.
C++ is pronounced "see-plus-plus."
C++ Variables
Variables are the backbone of any programming language.
A variable is merely a way to store some information for later use. We can retrieve this value or data by referring to a "word" that will describe this information.
Once declared and defined they may be used many times within the scope in which they were declared.
C++ Control Structures
When a program runs, the code is read by the compiler line by line (from top to bottom, and for the most part left to right). This is known as "code flow."
When the code is being read from top to bottom, it may encounter a point where it needs to make a decision. Based on the decision, the program may jump to a different part of the code. It may even make the compiler re-run a specific piece again, or just skip a bunch of code.
You could think of this process like if you were to choose from different courses from Guru99. You decide, click a link and skip a few pages. In the same way, a computer program has a set of strict rules to decide the flow of program execution.
C++ Syntax
The syntax is a layout of words, expression, and symbols.
Well, it's because an email address has its well-defined syntax. You need some combination of letters, numbers, potentially with underscores (_) or periods (.) in between, followed by an at the rate (@) symbol, followed by some website domain (company.com).
So, syntax in a programming language is much the same. They are some well-defined set of rules that allow you to create some piece of well-functioning software.
But, if you don't abide by the rules of a programming language or syntax, you'll get errors.
C++ Tools
In the real world, a tool is something (usually a physical object) that helps you to get a certain job done promptly.
Well, this holds true with the programming world too. A tool in programming is some piece of software which when used with the code allows you to program faster.
There are probably tens of thousands, if not millions of different tools across all the programming languages.
Most crucial tool, considered by many, is an IDE, an Integrated Development Environment. An IDE is a software which will make your coding life so much easier. IDEs ensure that your files and folders are organized and give you a nice and clean way to view them.
Types of C++ Errors
Another way to look at C++ in a practical sense is to start enumerating different kinds of errors that occur as the written code makes its way to final execution.
First, there are syntax errors where the code is actually written in an illegible way. This can be a misuse of punctuation, or the misspelling of a function command or anything else that compromises the integrity of the syntax as it is written.
Another fundamental type of error is a compiler error that simply tells the programmer the compiler was not able to do its work effectively. As a compiler language, C++ relies on the compiler to make the source code into machine readable code and optimize it in various ways.
A third type of error happens after the program has been successfully compiled. Runtime errors are not uncommon in C++ executables. What they represent is some lack of designated resource or non-working command in the executable program.
In other words, the syntax is right, and the program was compiled successfully, but as the program is doing its work, it encounters a problem, whether that has to do with interdependencies, operating system requirements or anything else in the general environment in which the program is trying to work.
Over time, C++ has remained a very useful language not only in computer programming itself, but in teaching new programmers about how object oriented programming works.
WonderSwan updates: (#7428)
bus/wswan: Add preliminary support for wonderwitch. [Wilbert Pol]
cpu/v30mz: [Wilbert Pol]
- Rename segment registers.
- Add a callback to retrieve the interrupt vector.
- Add prefetch queue and PFP register.
- Add 1 cycle penalty when reading or writing a word from an unaligned address.
- Add 1 cycle penalty when calculating effective address from multiple registers.
- Removed not supported nec extended instructions.
- Change address space width to word.
wswan: [Wilbert Pol]
- Adjust cpu cycles when performing DMA.
- Updated default internal eeprom for WonderSwan Color with name ‘WONDERSWANCOLOR’.
- Fix off-by-one error in window drawing.
- Major update to the software lists documenting hardware and rom labels and locations.
Digimon Adventure 02 - D1 Tamers (Rev 1) Digital Monster Card Game - Ver. WonderSwan Color (Rev 2) Digital Monster - D-Project (Rev 1) Digimon Tamers - Digimon Medley Hunter X Hunter - Greed Island (Rev 1) From TV Animation One Piece - Treasure Wars (Rev 1)
mama Mitte'
Dicing Knight. [anon] Judgement Silversword - Rebirth Edition (Rev. SC21)
Chocobo no Fushigi na Dungeon for WonderSwan (Rev 3) Chocobo no Fushigi na Dungeon for WonderSwan (Rev 1) Digimon Adventure 02 - Tag Tamers (Rev 0) Digimon Adventure - Anode Tamer (Rev 1) Digimon Adventure Campaign Limited Version Keitai Gyogun Tanchiki - WonderSwan Handy Sonar (Rev 2) Harobots (Rev 1) Hunter X Hunter - Ishi o Tsugu Mono (Rev 1) Mahjong Touryuumon (Rev 1) Super Robot Taisen Compact (Rev 1) SD Gundam - Emotional Jam (Rev 2) SD Gundam Gashapon Senki - Episode 1 (alt)
Super Robot Taisen Compact for WonderSwan Color Cardcaptor Sakura - Sakura to Fushigi na Clow Card
Armored Unit Crazy Climber Clock Tower for WonderSwan Glocal Hexcite Gomoku Narabe & Reversi - Touryuumon Hanafuda Shiyouyo Keiba Yosou Shien Soft - Yosou Shinkaron Morita Shougi for WonderSwan Nobunaga no Yabou for WonderSwan Sangokushi II for WonderSwan Shougi Touryuumon Slither Link Soccer Yarou! - Challenge the World Taikyoku Igo - Heisei Kiin Trump Collection 2 - Bottom-Up Teki Sekaiisshuu no Tabi Trump Collection - Bottom-Up Teki Trump Seikatsu
Clock Tower for WonderSwan Meitantei Conan - Nishi no Meitantei Saidai no Kiki! Super Robot Taisen Compact 2 - Dai-1-bu - Chijou Gekidou Hen Super Robot Taisen Compact 2 - Dai-2-bu - Uchuu Gekishin Hen (Rev 4) Super Robot Taisen Compact 2 - Dai-3-bu - Ginga Kessen Hen (Rev 2) Super Robot Taisen Compact (Rev 0)
Magical Drop for WonderSwan MobileWonderGate (Rev 1) Wonder Borg Robot Works Robot Works (Asia)
reverse thruster, fuck you
that was the missing file changed
Fuck you, Fuck yourself Intellij And fuck you Java, Go suck one
"10:30am. I am finally getting up earlier even if by only a little. Yesterday exhausted me. Writing that last review opened my eyes.
Whether my plan succeeds or not really depends on the competence level of the teams doing the software stacks at those hardware companies. Assuming there is enough choice for me to pick my targets, I need to focus primarily on those with functional programming experience. Alternatively, those open to learning new languages. Otherwise things will get really hard.
10:45am. These sorts of worries are a welcome break from my other obsessions. If I am going to have my mind occupied, it should be by things of actual importance to me.
11:05am. Done chilling. It is time to start this thing.
If I am going to get sidetracked, it only makes sense that this be by the requirements of the path itself. I should not get jobs on the side - the path itself should sustain me. This is what I am going to test in 2021 most of all. I could not have much success aiming high, so what if I tried aiming low? If I can grasp the low, I can use it a stepping stone to higher places.
11:10am. I really want to give the middle finger to my general environment. I've been living here in the middle of nowhere for who knows how long, and I've had to endure being at the bottom for so long, but it was all for nothing in the end. Figuring out the meaning of life did not get me closer to anybody, instead those deep secrets just keep further estranging me from humanity. I don't know whose fault that is, but I know who is going to pay.
And what I must do until I get my power is embrace labor.
Well, I might regret it now, but it is not like it was not plan B all along. I have a nasty tendency to want to explore too much which just exarcebates my mental strain.
// Typecase
| ETypeLet of Range * Id * T * E
| ETypePairTest of Range * bind: Id * pat1: Id * pat2: Id * on_succ: E * on_fail: E
| ETypeFunTest of Range * bind: Id * pat1: Id * pat2: Id * on_succ: E * on_fail: E
| ETypeRecordTest of Range * Map<string,Id> * bind: Id * on_succ: E * on_fail: E
| ETypeApplyTest of Range * bind: Id * pat1: Id * pat2: Id * on_succ: E * on_fail: E
| ETypeArrayTest of Range * bind: Id * pat: Id * on_succ: E * on_fail: E
| ETypeEq of Range * T * bind: Id * on_succ: E * on_fail: E
What I need to do is get rid of this.
11:15am. Done. I've just chucked a large amount of code essentially overboard.
| RawTypecase(r,a,b) ->
let a = ty env a
let id, env = fresh_ty_var env
failwith "TODO"
This is where I need to start with once again.
| TMetaV of Id
Let me add this to the list of Ty
s.
Also, I think I disabled opening the term scope in typecase right?
let case_typecase d =
let clauses d =
let bar = bar (col d)
let typecase = root_type {root_type_defaults with allow_metavars=true; allow_wildcard=true} >>= typecase_validate
(optional bar >>. sepBy1 (typecase .>>. (skip_op "=>" >>. next)) bar) d
Yeah, that is the case. The truth is, as long as metavars aren't eagerly bound I could in fact allow it, but unless somebody demands this, I think I'll just leave it out. It is not important.
I am not sure if it was yesterday or the day before it, but I've had a great insight. I can do unification in the peval segment as long as I take care that metavars never leave the typecase.
Also, evaling the types never actually leads to nominals (which can have term segments) being unboxed, so I am safe there. All this combined means I can have an easy time of implementing what I want.
It is a pity. What I had previously would not have been bad if matching on regular functions was not necessary. The way I decided on doing it compiled style is because I decided I would not need it, but I was wrong. I absolutely do need to match on the results of regular type function application.
11:30am. Focus me, let me just get through the prepass parts. I need to introduce ETypecase
.
| ETypecase of Range * T * (T * E) list
I guess I will set it to this.
11:35am.
| RawTypecase(r,a,b) ->
let a = ty env a
let id, env = fresh_ty_var env
failwith "TODO"
Let me start with this.
| RawTypecase(r,a,b) ->
let b =
b |> List.map (fun (t,e) ->
)
ETypecase(p r,ty env a,b)
Hmmm, this part is troublesome.
and ty (env : Env) x =
let f = ty env
match x with
| RawTMetaVar _ -> failwith "Compiler error: This should have been compiled away in typecase."
I actually want to reuse ty in order to convert the metavars.
I'll also have to return the env, so that I can eval the typecase cases.
and ty' (env : Env) x =
let mutable is_metavar : _ HashSet = null
let mutable env = env
let rec f = function
| RawTMetaVar(r,a) ->
if is_metavar = null then is_metavar <- HashSet()
if is_metavar.Add(a) then
failwith ""
else
failwith ""
I'll use a null here for efficiency.
11:50am.
and ty' (env : Env) x =
let mutable is_metavar : _ HashSet = null
let mutable env = env
let rec f = function
| RawTMetaVar(r,name) ->
if is_metavar = null then is_metavar <- HashSet()
if is_metavar.Add(name) then
let id, env' = add_ty_metavar env name
env <- env'
TMetaV id
else
env.ty.env.[name]
This is pretty good.
12pm. Now I am just getting lost in thought. Let me complete that case.
| RawTypecase(r,a,b) ->
let b = b |> List.map (fun (t,e) ->
let env, t = ty' env t
t, term env e
)
ETypecase(p r,ty env a,b)
This should be good enough.
Yeah, this is good enough for the morning session. Later I will fill out all the prepass cases. Then I'll move to the peval. It should not be too hard. I can do this thing. If nothing goes wrong, I should manage it today. Let me have breakfast here."
Merge pull request #39 from heerhaan/MoreServices
More services to the application since I am THAT amazing hell to the friggin yeah boys lets-a fucking gooooooo
Dumping local edits I haven't pushed to master branch
Reason for this branch: In case things get too hairy where I live and I can't be there to help much more. You'll need these to continue from where I leave off. Aside from feeling like I should have done this long ago in retrospect so you could see what I'm doing, I now feel worse about what's going on in my country and what could happen.
===
Now for what happening in this commit:
- _layouts/ ---- {company,gen-elec,product,ras-pi}.html are possible layout pages for those "hub" pages in /projects and /reviews. They may or may not be used depending on how arranging the button links goes.
---- contact.html is most likely going to be used for /contact.html. Because this page will be the only page that has a form, I thought to put in form styling in a separate <style> tag instead of both in the styles.css file and in a separate .css file (best to minimise the amount of requests overall for files to fetch and parse). The positioning of that second <style> tag should be there to avoid any potential headaches with CSS specificity if it were placed anywhere else.
-
contact.html with the layout changed to the contact.html layout. The
tags are meant to make styling the text for the labels easier and more proper (or "proper"; quite a few solutions around for form markup. Still not entirely sure how to implement it well since I haven't had much practice with them).
-
styles.css given these to improve the presentation of the images in the projects and reviews pages. Might have to give images classes to the or
-
project-002-....html just has the tab characters (from pressing the Tab key) missing. Output doesn't change at all, but git sees this as a change to look over.
===
I'll do my best to remember to push any changes I make locally onto this devel (short for 'development') branch. These changes won't affect the output of the site unless any changes get pushed to the master branch (the site output comes directly from the master branch). I think my reason to not do this was to not spam your email in general with frequent pushes that won't affect the site. Now I think I'm starting to understand the collaboration aspect of git and why everyone involved in a project needs to know what changes are happening, regardless of how frequent changes happen.
Really hoping I make it through my situation. Sorry if it sounds alarmist in any way, but I do not want work I've made for the site to be forever stuck on my computer and be inaccessible.
Add files via upload
Everything from December 29, 2020 Facebook Deviantart Youtube (See Videos marked with 12292020)
Much of this pertains to Candy2021 and the alleged theft that Emily is claiming happened. What the truth actually is, thanks to Jetta Bentham who used a really bad fanfic to go at Emily with titled "My Immortal", this crazy ass has been hung up on it since. First alleging her Mother Ronda made it about Emily's life, then going after Candy2021 who made fan art about it, saying she stole it from one of her characters. Its fairly convoluted at this point. Emily went as far as to allege that Candy even forged her signature. Refer to Youtube Video Proof against Candy. Her screeching and spitting about her handwriting, as well as tapping her pen on the table is obnoxious, but she tries to point out that Candy stole her handwriting. I have seen personally Candy's handwriting and I can read Candy's where I can not Emily's.
Merge branch 'master' of https://github.com/ChanJuShin/git-exer fuck you~~~~
Car finikitao
Amazing car omg its sick who made this? Oh yeah, nearly forgot, it was ME. Un saludo
Merge pull request #13927 from Citadel-Station-13/silicons-patch-56
FUCK OFF WHY IS VORE SHITCODE CAUSING CHERNOBYL AGAIN I HATE VORE CODE
advent day 3: nim
This was an interesting one! I never really had much interest in trying to pick up nim, but I was overall pleasantly surprised. I'm not sure I'd reach for it in a lot of cases, but it's pretty clear that it came from Python inspiration as advertised.
Putting together a quick program was trivial, which is always nice, and it was nice to know that the quick program you put together isn't totally non-idiomatic, which I find is often the case when you put something simple together vs. a legitimate piece of software.
Favorite thing about nim: first class iterators! I love iterators to the moon and back, so being able to build a yielding procedure with some first class semantics was coolio. That set me up for some joy, and despite my (much) longer list of complaints, I still enjoyed them a lot.
Another nice thing: the syntax. By and large the nim syntax hits a sweet spot between being both easy to read and write. Again, that Python influence is there. There are some cases where nim decided to keep the keyword footprint low by using weird curly-dot suffixes to signatures to indicate things like pure functions, exceptions that are raised, etc. That part is... odd. I don't think I hate it though.
Least favorite: nim is quirky for a new language. It makes a lot of weird decisions that I'd expect from a language that had grown organically over decades: not something I'd want in a new language.
- There are too many ways to return. Explicit, implicit last statement, and "magic" variable assignment.
- Exception handling is a pattern I don't like in general -- I much
prefer the way Rust handles it. Or even Go, which usually lets you
just tack on extra return values. Nim doesn't really have constructs
to handle that kind of pattern elegantly. Even more odd, nim seems
to arbitrarily decide to use boolean success return values or
exceptions somewhat arbitrarily. (See file opening.)
All that being said, I do like that you're forced to handle
exceptions, using explicit throwaway keywords like
discard
. I like that more than say, Java, where there's no explicit way to do so, and IDEs just yolo if you name the variable a certain way. - Iterators move in weird ways, they'll only mark themselves as ended after you make one extra call past the end, which means you get a garbage value you have to know to drop. You also can't ever simply iterate over the values... you often do a "while true" loop to wrap the bad value and prevent your procedure from returning the garbage. This is documented in the nim docs and is absolutely bonkers.
All in all, I think nim would be a very interesting replacement for what you may typically think to write as a shell script. It's nice and scripty and reads nicely. There's way too much quirkiness in it that would probably prevent me from recommending it for production use outside that.
Fixup bad variables in promotion script (#1530)
-
fix up promition script
-
remove broken link
-
i hate my life
-
why god. why?
Implement Bot.WaitFor
Bot.WaitFor kinda sucks right now but it works
Also fuck trying to add cogs, they can't be dynamically loaded anyway. maybe a cog-like interface soon (or something similar to how yagpdb does plugins)