Quantcast
[ 3 / biz / cgl / ck / diy / fa / g / ic / jp / lit / sci / tg / vr / vt ] [ index / top / reports / report a bug ] [ 4plebs / archived.moe / rbt ]

Due to resource constraints, /g/ and /tg/ will no longer be archived or available. Other archivers continue to archive these boards.Become a Patron!

/g/ - Technology


View post   

[ Toggle deleted replies ]
File: 64 KB, 1024x906, 1484946772166.jpg [View same] [iqdb] [saucenao] [google] [report]
62534116 No.62534116 [Reply] [Original] [archived.moe] [rbt]

What are you working on, /g/?

Old thread: >>62527825

>> No.62534140

>>62534116
First for anime

>> No.62534141

>>62534116
:(

>> No.62534144 [DELETED] 

How do I look do reverse hostname lookups in a non-blocking way with epoll?

>> No.62534145

>>62534116
Second for fuck anime

>> No.62534158

>>62534144
How do I do reverse hostname lookups in a non-blocking way (with epoll)?*

>> No.62534196
File: 82 KB, 413x533, 1505942091354.png [View same] [iqdb] [saucenao] [google] [report]
62534196

>I use C

>> No.62534197

>>62534116
Kernel module for mapping userspace buffers and setting up IOMMU domains

>> No.62534242
File: 143 KB, 935x843, dashboard.png [View same] [iqdb] [saucenao] [google] [report]
62534242

Made this little status page for my Raspberry Pi

Still have some functionality I want to add such as hot reloading of the text values and some new fields

>> No.62534248

didn't see the new thread

>>62534146
Right now I'm focusing on Swift since there seem to be a lot of small startup companies in big cities that will hire someone like me if I can get the job done and will take a "modest" salary. I have a lot of ground to cover still but at the very least I have a few apps in the pipeline and I can churn them out without much trouble. My main issue right now is that I've learned everything I know from tutorial projects and I don't actually understand the process of going from reading docs to truly learning and implementing something on my own without a separate example—I learn almost entirely by doing and by example. I'm actually really fearful that I'm not cut out for this because of that.

>>62534196
>pic is me

>> No.62534282
File: 74 KB, 512x700, babylon tower.jpg [View same] [iqdb] [saucenao] [google] [report]
62534282

>>62534116
I think that current versioning approach sucks.
We have fat modules that export dozens or even hundreds of functions. Each library update can add/improve some function and break others at the same time, so upgrades become dangerous.
It is a bad and painful approach. Instead, it is possible to split modules into completely independent functions. One module = one function. This way dependencies could be updated independently.
Of course, it requires very strict and reliable compiler/type-checker, but we have these type-checkers nowadays. And the evergrowing tower of functions is not a problem — we already have it, just look at github. Functions are there, every version of each function, we just need to split them.
Why don't we use this approach?

>> No.62534311

>>62534155
>Ayy that sounds pretty cool.
Ideally, yes. I was originally writing an IDE from scratch in C++ using the Qt toolkit, but I'm not comfortable enough with C++/Qt to be confident with things like paint events, custom widgets, etc. I mean, I could technically create a custom widget, but I'm not sure how reliable it would be, and I figure that using HTML+JavaScript+node.js would save a lot of time, though I would have to run the map and sprite editors in separate windows. The official IDE is Windows only, written in C#/.NET and doesn't play nicely with WINE/Mono, I guess this is better than nothing.

>> No.62534399

>>62534311
would you please consider writing an open-source alternative to IDA instead

>> No.62534411

>>62534399
>open source IDA
radare?

>> No.62534418
File: 24 KB, 1366x728, qtsphereide.png [View same] [iqdb] [saucenao] [google] [report]
62534418

>>62534311
>>62534155
Here's a screenshot of the C++/Qt IDE in its current state. It has tabs, but you don't see any because there aren't any files currently open when I took the screenshot.

>> No.62534431

>>62534399
What is that?

>> No.62534450

>>62534282
>why don't we use this approach?
Ignoring legacy reasons there's standardization issues. Like how almost any vector math related framework defines their own vector/matrix types. If you have modules at function granularity you run into those problems. It can be dealt with of course but you'd have to implement all the modules at a level of abstraction that'd let the user define things like access. Think object programming where your functions will do all their work through overloaded functions. Or equivalent.
Ignoring how algorithms guide datastructure choice and vice versa. It's a bit messy and puts a lot work in the hands of the programmer. I don't mind that at all personally but frameworks have this trend of doing the opposite. Forming your code to their solutions rather than the other way around.

I'm not saying it's a bad idea though. Just not fit for some things.

And if you're gonna rely on this very well developed type system you can alleviate a lot of that work.

>> No.62534470

>>62534248
>>62534453

>> No.62534697

>>62534399
man I could never get into IDA
it's so different from my years of experience with ollydbg

>> No.62534769
File: 152 KB, 1920x1041, pvm.png [View same] [iqdb] [saucenao] [google] [report]
62534769

A stack-based VM for embeddable scripting languages. It can be programmed directly in a (somewhat) Forth-like language, but it provides a C JIT compilation API to be used by user ESLs. The core idea is to enable easy interop between multiple domain-specific scripting languages within the same host application through the shared argument stack. It provides native support for an object system that is lightweight but highly customizable and extensible (through the use of meta-objects), so objects can be directly shared between different ESLs with potentially different object systems.

Here's the definition of the basic operators of the stack language in terms of itself.
defun # >> compile-call end
>>
# get setmac

defun peek >> dup << end

defun defmacro peek # defun get setmac end
>>
defmacro get setmac

defmacro ' >> compile-literal end

defmacro !call call end

defmacro ! >> get # !call end

defmacro !>> >> end

defmacro ## >> compile-literal ' compile compile-call end

defmacro if
## not
# ?jump
end

defmacro endif
# resolve:
end

defmacro else
# jump
swap
# resolve:
end

defmacro while
# label:
end

defmacro do
## not # ?jump
end

defmacro repeat
swap
# jump # to-label
# resolve:
end

defmacro /*
while
>> ' */ = not
do repeat
end

/* now we can add C-style comments! */

defmacro {
## {}
## dup
>> compile-literal >> drop
## swap
end

defmacro ;
## swap
## setf
## dup
>> compile-literal >> drop
## swap
end

defmacro }
## swap
## setf
end

>> No.62534825

So I found csc.exe on my computer, which is a built in C# compiler. I didn't realize one comes essentially pre-installed on the computer. I was wondering if anyone else knows what other compilers come by default on windows (i.e. without having to download one). Any C++ or C compilers?

>> No.62534870

>>62534825
>I was wondering if anyone else knows what other compilers come by default on windows
Your installation may include MASM32 if it's 32-bit windows.

>> No.62534899

>>62534825
>Any C++ or C compilers?
no

>> No.62535055

>>62534870
It is 32bit. Will look into this. Do I need a linker though as well?

>>62534899
Damn, that sucks, but thanks for the info anon

>> No.62535187
File: 197 KB, 1024x1372, Richard_Stallman_at_MIT_dancing_1970s.jpg [View same] [iqdb] [saucenao] [google] [report]
62535187

Anyone here familiar with Elisp?
I'm getting some data from a url with url-retrieve-synchronously and storing it in a variable, when I get a description of that variable it says it's a #<buffer *url*-somenumber>, how would I go about accessing/using that data/buffer?

>> No.62535362
File: 2.64 MB, 4032x3024, IMG_0776.jpg [View same] [iqdb] [saucenao] [google] [report]
62535362

Any advice?

>> No.62535378

>>62535362
dick in fan perhaps?

>> No.62535432

>>62535187
Never mind, got it.

>> No.62535471

>>62535362
1. Avoid retarded OOP taxonomies. Sooner or later you will find objects that don't fit neatly on any branch, and the you will find yourself either duplicating functionality, or moving it up the hierarchy (thereby imbuing healing potions with the ability to shoot fiery arrows).

2. "Attack" and "use" methods are pretty useless. Good luck having a common interface for every possible kind of "use" and "attack" without passing them the entire world.

>> No.62535493

>>62532711
>>62532769
>>62532552

What, that's not how it works you dumb faggot. Switch cases are literally the easiest shit ever to implement as a jump table, and show me a compiler that doesn't. It even perfectly implements fall-through behavior, and a "break" literally becomes a jump instruction if it exists.

There is *NO* reason why what you're saying would be true. Even uncomplicated if-else chains are usually optimised to jump tables.

>> No.62535503

>>62534470
reposted:
That's exactly what I can/am doing, my point is that I'm not able to do the original research myself. It's very easy to do what you're describing, but reading the original docs and figuring it all out for myself seems so complicated. Sometimes the use cases for any given part of a library seem so abstract but when I see it used in a program I grasp it almost immediately.

I guess what I'm getting at is that the people who wrote the tut were able to synthesize the docs and put it into practice whereas that task for me seems daunting. When I look at e.g. info for a class in Apple's official docs, it's this giant smattering of info, whereas when I look at an example it takes a few seconds to get it and that's it.

Example:
https://developer.apple.com/documentation/uikit/uitableview/1614891-dequeuereusablecell

Looking at this I can get the gist of what this does but coding something with this info is impossible for me. Taking a cursory glance at an example and I immediately understand and retain the info. But I wouldn't have been able to get there without some other guy having written a tutorial for me.

>> No.62535527

>>62535493
>jump table
Nice made-up terminology, faggot. Even if it's real, no compiler implements it. Prove me wrong. Protip: you literally can't.

>> No.62535537

>>62535493
Wouldn't it still iterate through the table? I don't know how hashmaps work, but I think evan they use some form of iteration.

>> No.62535570

>>62534769
Do you hate your eyes anon?

>> No.62535578

>>62535471
>2. "Attack" and "use" methods are pretty useless. Good luck having a common interface for every possible kind of "use" and "attack" without passing them the entire world.
...you'd obviously just be passing them the entity info or whatever, why would you have to pass them the world

this is a silly response, sir, and you are quite silly

>> No.62535586
File: 2.00 MB, 901x654, out.gif [View same] [iqdb] [saucenao] [google] [report]
62535586

>>62534116

>> No.62535608
File: 9 KB, 239x249, 1505518638088.jpg [View same] [iqdb] [saucenao] [google] [report]
62535608

IS IT JUST ME OR CPPREFERENCE IS ALWAYS BROKEN?

>> No.62535653

what are some prerequisites to get into reverse engineering

>> No.62535674
File: 37 KB, 574x159, 2017-09-21-005801_574x159_scrot.png [View same] [iqdb] [saucenao] [google] [report]
62535674

>>62535527

Pic related.

>>62535537

No, it just hashes the input number into either absolute or relative addresses, then jumps to it.

>> No.62535686

>>62535503
That's fine. No one is expected to learn how to use a massive library by reading through the class/function reference. The function reference only becomes useful when you have some background and general understanding of what's going on and need to verify some small details. You wouldn't read the C standard to learn how to program in C.

>> No.62535721

>>62535674
Does any actual compiler generate hashed jump tables? I know they generate array-like jump tables for sequential values, but having a hash function in there seems like it complicates the performance story a bit

>> No.62535738

>>62535570
>Do you hate your eyes anon?
No, but that code is supposed to be hairy. It literally defines stuff like "if", "while" and comments using more basic primitives. More normal programming isn't too bad when you get used to it, but the stack programming language isn't the point of the project anyway. You can ignore it entirely and just use the JIT API to implement your own language.

>> No.62535767

>>62535738
I think he was talking about your theme for emacs

>> No.62535785

>>62535686
>That's fine. No one is expected to learn how to use a massive library by reading through the class/function reference. The function reference only becomes useful when you have some background and general understanding of what's going on and need to verify some small details. You wouldn't read the C standard to learn how to program in C.
I appreciate the response—that totally makes sense—but what follows from that? I mean, if that's true, then how does one learn about (as in my example) dequeueReusableCell in the first place? I personally learned about it by looking at someone else's example, so where'd that guy learn about it?

You're right in that this class reference is great once I already have a general understanding of something, but how do I get that general understanding in the first place?

>> No.62535786

>>62535721

That depends on the complexity of the input (e.g. if you have a 200 case long switch statement with massive spaces between the cases then probably not). Array-like jump tables are the easiest, but it might also just do something like input % 10 if the compiler finds that there's 10 inputs and all of them would differ if a modulo was used. It would then add, multiply or something to translate it into a usable address.

That's the gist of it anyway, as we all know compiler programmers are wizards and the compiler can do more complicated hashing than that.

>> No.62535787

>>62535578
>you'd obviously just be passing them the entity info or whatever, why would you have to pass them the world
Try reading before you respond. I didn't say every "use" or "attack" method needs the entire world. I said it's difficult to implement a sensible common interface for every possible use case. Sooner or later you run into something that needs more than just "the entity info" and then you either have to refactor or to use some vile hacks to pass it into the method indirectly. If you really want to do this, at least use a struct to pass arguments so you don't have to change 100 method calls when this one method of this one object needs an additional argument.

>> No.62535792

>>62535653
Assembly, understanding low-level Windows internals, and C probably. What specifically do you/would you reverse engineer?

>> No.62535800

>>62535787
My apologies

>> No.62535805

>>62535471
>>62535787
Can we be friends? Do you use IRC?

>> No.62535825

>>62535785
>I mean, if that's true, then how does one learn about (as in my example) dequeueReusableCell in the first place? I personally learned about it by looking at someone else's example, so where'd that guy learn about it?
I don't know about Apple's GUI library, but those things are often so big that entire books are written about them. That's probably how the people writing the examples and tutorials learn.

>> No.62535859

>>62535786
>>62535721

Oh, and a hash function is likely more performant than evaluating several conditional statements, especially if memory access is needed to evaluate a conditional. Remember that with a hash function you can do everything on the CPU using the registers, and when the hash function has run it can just instantly jump to an address.

What you're basically doing is comparing O(1) to O(n). It has a higher computational cost for the "iterations" it does, but it also has just one iteration and will beat *any* O(n) as n increases.

>> No.62535879

>>62535825
>I don't know about Apple's GUI library, but those things are often so big that entire books are written about them. That's probably how the people writing the examples and tutorials learn.
Alright, so, to be more specific, I'm following this neat tutorial series at hackingwithswift.com. The guy seems to have tuts ready the day that Apple releases a new language feature or library.

Example: they came out with those bluetooth node things that some stores use to interact with their app, and he had a whole app ready for it immediately

I'm just wondering if in general the language authors put out some kind of materials that devs usually use, something standard/common practice, etc.

Again, I'm a noob, so any general info is pretty helpful

>> No.62535906

>>62535586
A linux-based image processing application? Could you elaborate on what you're building there?

>> No.62535924

>>62535786
>>62535859
That's great and all, but it sounds like you don't know of any actual compiler that generates hashed jump tables

>> No.62535943

>>62535787
So use a strategy pattern?

>> No.62535947

>>62535362
Looks more like a component-based design than a traditional class hierarchy.

>> No.62535968

>>62535906
Photoshop destroyer

>> No.62536010

>>62535879
>I'm just wondering if in general the language authors put out some kind of materials that devs usually use, something standard/common practice, etc.
That's usually the case. API authors will release docs with an architectural overview and usage examples in addition to plain class reference. Sometimes it's somewhat lacking, so people will figure things out by experimentation and then share this information, building up a knowledge base that experts compile (along with their experience) into more easily-digestible books. If you're just staring at an API reference and it tells you almost nothing, there's nothing wrong with you.

>> No.62536013

>>62535968
https://en.wikipedia.org/wiki/SMART_criteria

>> No.62536026
File: 4 KB, 200x200, 1476540933228.jpg [View same] [iqdb] [saucenao] [google] [report]
62536026

>>62535947
>melee_weapon inherits from weapon inherits from item
>Looks more like a component-based design

>> No.62536030

>>62535906
It's basically a kind of tkinter frontend to PIL and Scipy ndimage. I tried to emulate microscopy image processing software like Zeiss KS400 and Leica QWin but make it portable and free (python based) but still retain the macro functionality so it generates the code as you run it.

>> No.62536034

>>62536026
Sorry, I meant that looks more like what he wants

>> No.62536040

>>62535943
>So use a strategy pattern?
To do what? How does it solve the problem?

>> No.62536045

>>62536010
>If you're just staring at an API reference and it tells you almost nothing, there's nothing wrong with you
good to know, thank you! I was worried that I was too stupid for this

>> No.62536079

>>62535787
>Try reading before you respond. I didn't say every "use" or "attack" method needs the entire world.

To be fair it did sound like you were implying that. I get your point, but it didn't come across as well as you would think.

>>62535578

His point is that at some point you have to pass more than the entity information, and eventually, "the world".

>> No.62536091

>>62536079
>His point is that at some point you have to pass more than the entity information, and eventually, "the world".
Would you mind explaining why? Thanks.

>> No.62536115

>>62536079
>To be fair it did sound like you were implying that
I said:
>Good luck having a common interface for every possible kind of "use" and "attack" without passing them the entire world.
The implication being that the only sure-fire way to implement a common interface for every possible situation that might come up is to just pass everything just in case. It's a little hyperbolic, but I don't see how you can ignore the first half of the sentence and then act baffled about the second half.

>> No.62536130

>>62536013
??

>> No.62536131
File: 327 KB, 834x870, 1505507594850.gif [View same] [iqdb] [saucenao] [google] [report]
62536131

>>62535608
It's just you

>> No.62536141

>>62535362
>Any advice?
Burn the paper. Write your bullshit. Apply critical thinking. Learn something. Repeat.

>> No.62536162

>>62536141
>Burn the paper. Write your bullshit

How am i going to write of i burned the paper?

>> No.62536182

>>62536091

Because at some point the definition of "attack" expands. At first it's just swinging a sword, but then later you find that someone needs to fire an arrow and suddenly solving the previously simple problem of "attack" in a single function is far more complicated. You are forced either to abandon your idea of a single function call to attack, rewrite it to become just a dispatcher depending on the weapon type or abandon implementing ranged weapons completely.

>>62536115
>It's a little hyperbolic, but I don't see how you can ignore the first half of the sentence and then act baffled about the second half.

I had no problem interpreting your point, I was just saying that with a different mindset I may not have (e.g. pass the literal game world into the function).

>> No.62536189
File: 197 KB, 294x256, mfw-this-shit-again.png [View same] [iqdb] [saucenao] [google] [report]
62536189

>>62536162
The brainlet is trying to say that planning is bad, and that you should write bad code, learn from that, and write bad code differently next time.

>> No.62536201
File: 3.89 MB, 1025x1062, out.gif [View same] [iqdb] [saucenao] [google] [report]
62536201

>>62535586
>>62535906
>>62536030

>> No.62536211
File: 368 KB, 1813x1153, wind.webm [View same] [iqdb] [saucenao] [google] [report]
62536211

I've been working on webm related for a few months now. The idea is that you get programmable brushes, these become ridiculously expressive as symmetry, color and orchestration are fully programmable.

It's quite interesting to explore what you can make with this weird software.

>> No.62536215

>>62536162
You do it without the paper. The less you remember the better. Looking at something like that for guidance is a mistake.
You have no user code right now. You have no idea how this system will actually be used or what your actual requirements are. If you instead let your system develop naturally you end up with a better solution. If you write something like that you're much more likely to stick to it. As if it was a good idea. But fact is that future you will write a much better plan for you.
Don't get me wrong, there's planning in software. But you're at a granularity and an uncertainty level where you will simply not be able to productively plan for yourself.
>>62536189
That's the best way to learn is it not?

>> No.62536307

>>62536211
draw me anon!

>> No.62536355

>>62536307
I'm not a drawfag tho :|

The fuck do you look like?

>> No.62536370

>>62536215
>You have no idea how this system will actually be used or what your actual requirements are.
> But you're at a granularity and an uncertainty level where you will simply not be able to productively plan for yourself.
What frustrates me about your post is that it's not completely wrong. You almost seem to get it, but somehow you miss the fact that what you're saying constitutes prior knowledge in and of itself, and this knowledge can be used to plan ahead, and should shape your design requirements.

>> No.62536421

>>62536091
>>62535362

Also, the suggestion I have for you is to start writing your program without a detailed specification of what function does what just yet. You can have a general overview of what the program should be doing, for example you should probably have a loose idea of what the game loop does and what the game rules are, although they should be up for modification later.

It is much easier to write a program and see where you're actually duplicating code, then write a generic function for *that* than it is to try to fit a square brick into a round hole by determining before you even wrote a single #include statement what should be generic and what shouldn't. What you're doing is comparable to premature optimisation, except it's premature generics. It's exactly how a lot of OOP projects turn into a spaghetti hellhole.

>> No.62536454

>>62536370
>You almost seem to get it, but somehow you miss the fact that what you're saying constitutes prior knowledge in and of itself, and this knowledge can be used to plan ahead, and should shape your design requirements.

But the design requirements aren't what you think they are. The design requirements are roughly how the game loop should behave, the rules of the universe and partially the physics. They are not which function should be generic or not, and an "attack" function should be considered part of the game rules, not a pre-specified function.

>> No.62536512

>>62536454
>But the design requirements aren't what you think they are
>an "attack" function should be considered part of the game rules, not a pre-specified function
If you scroll up, you will find a post of mine specifically cautioning him against "use" and "attack", and you'll also find a band-aid fix that doesn't address the core of the problem, but does illustrate a basic point about acknowledging the possibility of change and planning ahead for it. The answer isn't daunting eternal refactoring. The answer is flexible design.

>> No.62536521

>>62536512

I agree with you, I think we've been saying the same thing all along.

>> No.62536541

>>62536370
I guess that's a fair point. This isn't perfectly general advice and does rely on anon making choices himself that will influence the end result. But I don't think that throwing a dart at a map as he has done here is a good way to navigate when exploring a design. It's wiser to at least try to sense if you're getting closer. Even if you're not good at it.
I'm not sure why you phrased your post in such a patronizing manner though.
>and should shape your design requirements
No. That's a terrible idea. Don't shape your design after ability like that. Especially not in api design. There's areas where you should perhaps take a step back but that's in the higher level goals. Like how anon should probably not make the fanciest looking MMORPG as his first video game. I don't think there's much anon could arrive at as solutions to his problems that'd be out of his reach really.
>>62536512
>eternal refactoring
People are way too afraid of rewriting code. As long as you're understanding the problems that made you rewrite you're fine.

>> No.62536551
File: 130 KB, 766x848, Selection_001.png [View same] [iqdb] [saucenao] [google] [report]
62536551

Soon

>> No.62536625
File: 1.48 MB, 1813x1153, eye.webm [View same] [iqdb] [saucenao] [google] [report]
62536625

>>62536307
Well, here's your left eye (albeit a tad green)

>> No.62536651

>>62536541
>No. That's a terrible idea. Don't shape your design after ability like that. Especially not in api design.
The point is not to create a full-proof API that plans ahead for every possible change. The trick is to always keep a clear separation between core functionality and "plumbing", and to make the "plumbing" as flexible as possible. Duck typing, late binding, first-class messages, avoiding direct communication between entities and using broadcast channels where possible, separating state from functionality, building up both state and functionality from small and independent components, prototype-based inheritance - these are all conscious decisions design choices you can make on the basis of your observations that will save you a lot of refactoring.

>> No.62536663

>>62536651
We have entirely different attitudes to software and I don't think it's productive for us to talk anymore.

>> No.62536677

>>62536625
cute!!!!

>> No.62536707

>>62536211
cool!
there's a krita tool that has similar functionality called "multibrush", doesn't do exactly what you're doing though

>> No.62536725

>>62536663
>different attitudes to software
>I don't think it's productive for us to talk anymore
Given that your "attitude" is to refactor code ad nauseam, and that you don't seem to have any interest in trying to avoid this, you're probably right.

>> No.62536737

Does /dpt/ write up their resume in LaTeX?

>> No.62536749

>>62536663
One last thing I want to note: when you give advice to newbies, give them a heads-up that your advice entails continually rewriting code (and see if they still want to follow it).

>> No.62536750

>>62536737
no, I write it in a custom dsl I programed

>> No.62536767

>>62536707
Ah yeah, I'd expected Krita would have something like what I'm building. Though, symmetry is not really my point with this thing.

I'm really aiming at getting the most expressiveness out of a single stroke.

>> No.62536769

>>62536737
Yes

>> No.62536827

Hey /dpt/. I have a big struct (C) in main containing shared information. All functions declared in main use it. Should I pass a pointer everywhere and clutter the signatures, or should I make an evil global?

>> No.62536851
File: 52 KB, 681x585, 1505894195780.png [View same] [iqdb] [saucenao] [google] [report]
62536851

>> No.62536857

I got some reference books for learning C++14 from a friend. I know C++17 just came out, and I was wondering if the books are still good or if too much has changed.

>> No.62536891

>>62536857
std::gcd
if (auto x = someVal(); x < checkVal){}
auto fn (auto x, auto y) {}

>> No.62536903

>>62536857
>I got some reference books for learning C++14
Be a good goy and buy a C++17 book. Our new version of the language has some new and exciting features. Don't mind the fact that they've been available in every other language for the past 30 years.

>> No.62536913

>>62534116
this art, except unedited in the original where it's a naked girl in pigtails installing OS X while masturbating and dripping her juices all over the keyboard
link?

>> No.62536914
File: 77 KB, 677x463, ignore_sepples.jpg [View same] [iqdb] [saucenao] [google] [report]
62536914

>>62536891
>babby-lang's first type inference mechanism
Awwww!

>> No.62536932

>>62536913
also she has one loose sock half-off

>> No.62536936

>>62536914
That's no hindley milner

>> No.62536948

>>62534116
C++ project in CSCI class in Uni
SE Major so I know how to plan shit out
Has to do with linked lists and sets of objects, whatever that means.

>> No.62536950

>>62536903
So that's a "no" then?

>> No.62536957

>>62536725
You're aiming to avoid small amounts of work. In my 7 years of professional experience rewriting code is part of the development process but it's not a cumbersome process as you describe it. Maybe it has to do with the way I order my approach to a problem. You write some user code first. Just purely hypothetical without any sort of constraints. You then write a simple working implementation. You then refine the implementation. A frequent step i find myself taking is making an api to process the user code into an effective 'command buffer' (implementation varies for good reason) that's then passed to the code that does the work. For instance.
And as you develop you find things to alter.
Refactoring is absolutely trivial for any of these steps. The most deep change I'd make here is in changing function names at all the call sites.
I did write code with the mindset of minimizing things I touch over and over. But you end up writing a lot of code in preparation for change that never happens and adding that overhead during regular programming doesn't allow you to think about your problems as much. Perhaps when you're newer its more useful. I don't think either of us can be a realistic judge of that.
>>62536749
I did. It was the first thing I said. Write something bad and do it over while checking what went wrong.

If anons goal is just to complete this one project and never program again he can focus on just getting it done of course. I'm presuming he's not like that.

I'm gonna sleep now though. Good night.

>> No.62536971

>>62536891
pssst

#include <cstdlib>

using namespace std;

>> No.62536976

>>62536971
>cstdlib
ugh

>> No.62536992

>>62536827
If it's actually program global state it's fine to use globals if they're clearly labeled as such.
Some programmers prefer passing pointers either way. There's no arguments for this. Just because you're accessing it through a pointer you passed in doesn't make it less global or more predictable.
But it's not common for you to have truly global state. Think harder.

>> No.62537059

>>62536182
>Because at some point the definition of "attack" expands. At first it's just swinging a sword, but then later you find that someone needs to fire an arrow and suddenly solving the previously simple problem of "attack" in a single function is far more complicated. You are forced either to abandon your idea of a single function call to attack, rewrite it to become just a dispatcher depending on the weapon type or abandon implementing ranged weapons completely.
So what's the solution?

>> No.62537110

>>62536957
>In my 7 years of professional experience rewriting code is part of the development process but it's not a cumbersome process as you describe it
I don't know what your professional experience is, but mine is specifically in writing game code. When it comes to gameplay, things change a lot, and they change very often. The product is constantly being play-tested and new ideas need to be tested and potentially scrapped quickly. Another related issue is code reuse. Here's what it all comes down to: you can say that it's not "that cumbersome", but different people have different thresholds for what counts as cumbersome, and you may feel completely different about this once you get used to almost not having to do it.

>you end up writing a lot of code in preparation for change that never happens
Not at all. You don't have to do that to utilize the suggestions outlined in >>62536651.

>> No.62537159
File: 22 KB, 453x553, saika delivery boy.jpg [View same] [iqdb] [saucenao] [google] [report]
62537159

Friendly reminder that you need 5 header files and 400 lines of code to draw a cube in opengl.

>> No.62537169

>>62537059
>So what's the solution?
I'm not him (and I suspect his approach would be different from mine), but I would suggest that entities should be able to subscribe to receive messages about the environment (e.g. to the game's AI targeting system, to receive the position of an enemy that isn't already overwhelmed by other actors) and react to it by sending messages about its intentions (e.g. request that an arrow should be spawned, or that a hitscan for X points of damage should occur along a certain ray).

>> No.62537177

>>62537159
Any api has 3x that for the same output.
i need speed boy, speed!

>> No.62537191

>>62537159
reminder that it takes 0 nonstandard libraries and 125 lines to draw a cube in javascript

>> No.62537195

>>62537159
>5 header files and 400 lines of code to draw a cube in opengl.
Reminder that you can then render a Quake level in 100 extra lines, because when you get down to it, the API doesn't care if you're sending the graphics card a cube or an entire sector of a level.

>> No.62537215

Is there a text editor for Windows that is scriptable like Vim/emacs but with standard keybindings?

>> No.62537217

>>62537191
>125 lines to draw a cube in javascript
Unless you're drawing it manually using Canvas2D, you're going to be using OpenGL ES, which is a stripped-down version of normal OpenGL, so it's going to be mostly the same thing.

>> No.62537230

>>62537217
correct.
http://codentronix.com/2011/05/10/html5-experiment-a-rotating-solid-cube/

>> No.62537257

>>62537230
Is this generating a cube programmatically on every frame instead of loading a bunch of vertices once and just rotating it?

>> No.62537277

>>62536750
Employed Haskell programmer right?

>>62536769
Cool

>> No.62537307

Is the info in the sticky still valid or is it outdated? Where's the best place to start /g/

>> No.62537313

>>62537277
idris, actually

>> No.62537316

>>62536851

Really makes you think..

>> No.62537317

>>62537277
you joke but
http://hackage.haskell.org/package/jsonresume

>> No.62537342

>>62537277
>thinking Haskell weenies write their own DSLs
I think you're looking at a (naturally unemployed) lisp programmer.

>> No.62537376

Daily reminder that there are 15,200 job postings on Indeed for Java developers, but only 79 for Haskell

>> No.62537390
File: 213 KB, 400x400, 1496994792722.png [View same] [iqdb] [saucenao] [google] [report]
62537390

>>62537376
>Java
May as well lobotomize myself.

>> No.62537391

>>62537215
what do you mean by standard keybindings?

>> No.62537395

>>62534116
why would shinji wear those pants?

>> No.62537396

>>62537376
>15,200 job postings on Indeed for Java developers
Daily reminder that 15,190 of them are going to be occupied by Pajeets working for 5 dollars an hour, and that you'll be competing with them.

>> No.62537444

>>62534116
Urgh man. Today was a good day. I found a great way to validate human fucking names off a small collection of 2000 fields in one of our tables
It was never properly filtered as to what's allowed in there. So there's all types of junk sitting as fields
And the solution was so simple and so satisfying

>> No.62537473

>>62537391
Ctrl-c, ctrl-x, ctrl-v for copy, cut, paste
Ctrl-h for search and replace
Etc etc

>> No.62537492

>>62537444
tell us more, god of trips

>> No.62537496
File: 342 KB, 714x738, 1421164417027.png [View same] [iqdb] [saucenao] [google] [report]
62537496

>>62537277
>Employed Haskell programmer right?
Yes

>> No.62537500

>>62537473
see >>62536851

>> No.62537525

>>62537496
We're replacing you with someone who can use Idris.

You've been too deep in Haskell for too long. You've picked up too many idiosyncrasies.

>> No.62537532

Fug, why is combining type theory and systems programming so difficult?

>> No.62537536

>>62537492
Nothing more to really say. Was able to decipher over a thousand names. 500 fields were actually blank. Were so indecipherable or didn't fit our data that it wouldn't even help if we had someone manually input it
Also I don't know if some data entry guy was bored, but apparently "Gay" actually exists as a last name

>> No.62537541

>>62537532
it's all just bytes

>> No.62537544

What type of programming language should I learn for software engineering? I took an AP course on Java in order to learn how to program, but some sources are telling me that Java is useless in a job.

>> No.62537545

>>62537536
Dunno what happened to the number but the amount that was indecipherable was 400

>> No.62537556

>>62537525
But Idris is for brainlets

>> No.62537569

>>62534242
What did you use to make it?

>> No.62537587

>>62537544
idris

>> No.62537597

>>62537544
>software engineering
There is no such profession.

>some sources are telling me that Java is useless in a job.
But anon, that's where all the "software engineers" are.

>> No.62537636

>>62537587
>idris
Say goodbye to type inference for little to no gain.

>> No.62537647

>>62537597
Well fuck

Are their any languages I should learn to increase my chances for employment?

I know web dev stuff like html css and javascript, Java and Python.

>> No.62537661
File: 85 KB, 812x806, v get out rieeee.jpg [View same] [iqdb] [saucenao] [google] [report]
62537661

>>62537647
>Are their any languages I should learn to increase my chances for employment?
Haskell

>> No.62537670

>>62537647
>Are their any languages I should learn to increase my chances for employment?
It depends on what kind of employment you seek, and whether or not you want to compete with third world Pajeets.

>> No.62537699 [DELETED] 

>>62537636
dependent types are worth it

also https://www.youtube.com/watch?v=3U3lV5VPmOU

>> No.62537700

Well?

https://strawpoll.com/s5cgpaxb

>> No.62537728

>>62537636
dependent types are worth it

also https://www.youtube.com/watch?v=ad4BVmPni7A

(ignore >>62537699, it has the wrong video)

>> No.62537759

>>62537670
I plan on learning numerous languages to increase my chance of employment. I heard from indeed that C and C++ is popular where I live. But after hearing about other's opinions towards indeed, Im not so sure.

I love how google glorifies the role of a software engineer with job and salaries statistics, even though that profession doesn't exist. Fuck my life

>> No.62537774

Holy shit threads are a nightmare in gtk3.

>> No.62537787

>dependent types prevent type inference
Whoa...makes...you...think...

>> No.62537792

>>62537787
No, Idris prevents type inference

>> No.62537817
File: 453 KB, 596x437, 1493327154676.png [View same] [iqdb] [saucenao] [google] [report]
62537817

I'm programming the backend of a web application for an internship position that will pay me roughly 191 dollars/month.
PHP is proving itself to be a real pain in the ass to work with, I've been falling in minefields for the last hour or two, the language just doesn't behave like it should. A friend of mine, who's more experienced in our field, told me these kind of interviews are huge redflags. The company doesn't seems that great.

Should I just tell the hiring tech to go fuck himself and wait for something better? I'm rather new and this is my first code interview, I was expecting to write data structures and shit like that, not to straight up build entire applications for the small chance of getting a one-on-one. Seems kinda disrespectful.

>> No.62537826

>>62537759
>I plan on learning numerous languages to increase my chance of employment
If you want to increase your chances of employment, specialize in something that's in high demand. The sane choice of language will be whatever is most common in that field.

>I love how google glorifies the role of a software engineer with job and salaries statistics, even though that profession doesn't exist
"Software engineers" don't engineer anything. They're just glorified code plumbers.

>> No.62537852

>>62537787
>>62537792
What are you niggers even sperging about? I stand behind my original post (>>62537636). Prove me wrong.

>> No.62537859

>>62537852
stand by*

>> No.62537863

>>62537852
i agree

>> No.62537866

>>62537817
>191 dollars/month.
no. you are severely undercharging. how much money are they making from you programing this """backend"""? my over under is $500,000.

>> No.62537926

>>62534116
Modifying the C source of R's Rpart library (used for building classification and regression trees) as part of some research for optimal splitting decisions.

>> No.62537950

I just want a variable from another class in Java as it is.

How /g/? How?
I don't want a copy or a class allocated on the heap, just the variable.

I just have this string in one class, and I want this other class to have access to this string.

>> No.62537963

>>62537866

I don't think they're making anything, since it's just a "development test" as the recruiter told me, I feel a little annoyed. Yes, I'm unexperienced and young, but I told the recruiter loud and clear that I was looking for an opportunity to learn shit since at my university I don't really work with any business like application, the recruiter redirect me to a sociopath that is asking me to build the exact thing I told them I don't know how to do, since I have 0 job experience.

Is the rest of my life going to be like this?

>> No.62537993

Anyone here have experience in SDL2 and can help me set it up.
I'm using http://lazyfoo.net/tutorials/SDL/ as a tutorial and have everything configured in CodeBlocks exactly as the images show, but CodeBlocks is still throwing errors saying that none of the function calls are defined. Is there anything I could possibly be doing wrong?

>> No.62538000

>>62537963
as a career programer, yes. you will be frequently asked to do things you do not know how to do. if you are extraordinarily lucky, you will be asked to do things no one knows how to do.
if you do not enjoy this, my advice is to drop out of programing.

>> No.62538026

>>62538000
and I'll repeat myself. you are severely underpaying yourself by taking this internship.

>> No.62538068

>>62537826
Are their any sites where I can look for programming job listings that are in high demand? I've heard of Indeed, but /g/ has stated it's shit.

>> No.62538080

>>62538000
Trips of truth.

>> No.62538091

>>62538068
Piggy-backing off of this, how long does it typically take for you to hear back from a tech company about a programming job?

I've been applying to a bunch of summer internships the past few weeks, but still have yet to hear from any of them, and I'm beginning to get nervous/discouraged.

>> No.62538094

>>62537993
It's probably the linker.
You need to go to, Project > Build Options and find the Linker tab, next to compiler.
If you're using Windows, just punch in what you see on the tutorials.
Should be -lSDLmain -lSDL2

>> No.62538116

>>62538094
I did that, and it's still giving me the errors. I don't understand what I'm doing wrong.
At this point I'm just re-installing SDL and going through the configuration process all over again as carefully as I can

>> No.62538139

>>62537774
Finally got this damn thing working. lmao no wonder the guile tutorial called it a challenge.

>> No.62538159

>>62538068
>>62538091
For the love of god, don't take career advice from /g/. I beg you

>> No.62538172

>>62538068
>I've heard of Indeed, but /g/ has stated it's shit.
What /g/ (by which you mean 2 posters) told you is that "15,200 Java jobs" doesn't really help you when you have 5,000,000 Pajeets and 100,000 college students who know Java and are willing to work for peanuts (not to mention that the only "lucrative" Java positions require you to have some specialized knowledge besides how to write Java code).

>> No.62538188

>>62538091
>how long does it typically take for you to hear back from a tech company about a programming job?
A week or two, usually. If it's been more than a month, forget about it.

>> No.62538189

>>62538116
Well there's three main things.

You want the SDL2 include files, which are the header files.
You want the dll files which is the compiled source code.
And then you want to call #include <SDL.h>

It's a lot easier than it seems. You don't need to install anything.

>> No.62538220

>>62538000

Oh, I don't think you're wrong at all. It's not that I don't enjoy solving problems, I do. I'm well aware of that. It's not the programming part which is pissing me off, it's the tool they're asking.
Maybe I'm just feeling the first impact of leaving the university bubble, I'm losing motivation but I do admit I found this first contact quite stressful. For now it's pretty clear, at least for now, I'm not fit for any kind of php development gig and shouldn't have applied for this position.

But yes, your trips speaks harshly, but truly.

>> No.62538224

>>62538172
>specialized knowledge
Do go on. I'm currently a freshman majoring in software engineering ( most jobs require a college major, so sue me), and I'm always stressed out over employment.

>> No.62538232

>>62538188
Should I just kill myself if I hear nothing from the 30 companies in a month? Even an email saying "Thank you for applying but unfortunately your services are not currently needed at [X]" is better than no response at all.

>> No.62538245

programmers whose main / favorite language is <___> are the most pretentious. (fill in the blank)

>> No.62538255

>>62538224
So everyone knows Java, right?
But do they know how the JVM works underneath? How many of applicants could rationalise about the performance of their code and design?

That's where you come in.

>> No.62538256

>>62538245
Lisp

>> No.62538279

>>62538189
Alright, it finally worked. I guess the problem was putting all the folders in the CodeBlocks folder instead of a different directory.

>> No.62538301

>>62538255
not person you're replying too but as a soon to be grad trying to get a Java-job (I don't care, I know you guys think I'm dog-shit for being a Java dev), I'm kind of stressed out that many require J2EE, maven, spring, hibernate, jsp, etc...
even for entry level devs. Many students have never used anything like that. Closest I've come personally is using JDBC a lot in 2 of my classes.

>> No.62538330

>>62538224
>majoring in software engineering
Oh boy.

>Do go on
Well, that's the thing... are you even proficient at anything besides Java? Because the only Java job I can think of that isn't generic code-monkeying is Android game development. Otherwise you could've specialized in embedded software development, or DSP, or high-frequency trading, or PC game development or some other shit that requires very specific knowledge.

>> No.62538355

Does a const char array in C mean that bytes are read from the executable, or are they loaded into RAM with the program?

Like if you have let's say a 2GB array of values that you're only going to read and not alter, how do you keep these from not hogging all your memory?

>> No.62538362

>>62538232
>Should I just kill myself if I hear nothing from the 30 companies in a month?
Let's just say I'd keep all options open.

>Even an email saying "Thank you for applying but unfortunately your services are not currently needed at [X]" is better than no response at all.
You'd think they would have the common courtesy, but 4 out of 5 times it doesn't happen.

>> No.62538370

>>62538301
Don't stress homie, majority of APIs are garbage.
The point is just to gleam over it so you can get past most Java APIs and do you thing.

You don't want to be programming to the tune of the framework, it's just there to lend a helping hand.

>> No.62538377

>>62538330
please tell us what is wrong with software engineering as a major. most programs are accredited, have the same courses required that CS and CE majors take, and require senior research / internship experience to graduate. doesn't it make sense if you want to be a developer, that you take courses related to that instead of courses that senior CS take such as AI and programming language theory?

>> No.62538379

>>62538245
Sepples monkeylang.

>> No.62538398

>>62538256
>being so jealous
What's wrong, anon?

>> No.62538399

>>62538377
All you need is a one-semester Java course and you can literally get any software """"""""""""""""""""""""Engineering""""""""""""""""""" job you want.

Those other courses are just a waste of time

>> No.62538413

>>62538330
I've heard that computer science degrees are worthless and everyone in my STEM program spread the "software engineering = high employment" meme. So its my fault entirely for enrolling in the software engineering major.

If by proficient, you mean just knowledgeable, then see >>62537647

Otherwise, i'm just starting out with learning a language syntax along with at least one framework. I might try to learn spring or some other Java framework. Or maybe puss out and try to make native web apps with JavaScript.

>> No.62538425

>>62538399
nobody hates the term software """engineering""" more than actual software engineers. we're the first to tell you we're not actually engineers.

>> No.62538435

>>62538425
>we're not actually engineers
We could be. Imagine if we behaved and worked like real engineers.

>> No.62538439

>>62538399
I know they don't actually do engineering. All I know is that it pays well and the job growth is significant.

>> No.62538443

>>62538279
So now that I got this all sorted out.....
Anybody got any game ideas?

>> No.62538447

>>62538413
If you base your plans for your future on what people on the internet think and "memes" then I really don't know what to tell you.

>> No.62538451

>>62538435
software development is nothing like real engineering. here is a good paper they forced us to read in my program - http://www.developerdotstar.com/mag/articles/reeves_design.html
Sounds gay but we're more like "artisans". Oh god I hate saying that.

>> No.62538453

>>62538377
>please tell us what is wrong with software engineering as a major
You're not going to be hired straight out of college to design systems for code monkeys to implement based on your meme degree. It'd take you years of experience to get there, and by that time, people with a different programming-related degree and an equal amount of experience are equally likely to get that position. "Software engineering degree" is basically "generic code monkey". It leaves you at a disadvantage compared to people with specialized knowledge.

>> No.62538455

>>62538355
I know that GCC puts constant/read-only variables in the text section for the assembly output, which I guess just becomes part of the executable.

So you won't have 2GB on the heap/stack (far as GCC is concerned). Doubt MSVC or Clang are doing much different.

>> No.62538473

>>62538455
Good to know, thanks.
I should probably research the structure of a .exe better

>> No.62538510

>>62538453
>different programming-related degree
such as? Computer Science is as generic as they come, that programming theory class they took senior year and the compilers course where they half assed a shitty compiler isn't going to translate to shit in the development world. Computer Engineers / Electrical Engineers are good with embedded systems but surprisingly shit when it comes to anything else. Gee, they're best sticking to hardware, who would have thunk?
point is - I actually do agree with you, most end up as a generic code monkey and work their way up. Unless you went to a top school or are incredibly intelligent and talented.

>> No.62538523

>>62538413
>I've heard that computer science degrees are worthless
As far as teaching you how to write big programs property is concerned, they are, but so is your software engineering degree, which is why you'll still have trouble finding a decent job that doesn't require prior experience, and someone with experience and a CS degree is going to be better off in the long run.

>> No.62538544

>>62538510
I didn't have the GPA for CE, but luckily my college still has a specialization for the low-level areas of CS like embedded systems, OSes, architecture, networks, digital design, etc.

>> No.62538647

>>62538544
... all classes that software engineering students must take. sorry to burst your bubble but it's not all UMLs, graphs and SWE400 - Introduction to JUnit. Perhaps for some universities, the CS programs offer a specialization, but lets be honest here - most of the real learning is done outside of class and at internships regardless of major. If a certain individual wants to do mobile development, he / she is already writing mobile apps in their spare time freshman year. The person who really wants to work with a functional language is programming in Scala and Haskell in their free time, etc...

>> No.62538657

>>62538523
FUCK ME. IF ONLY I LEARNED THIS PRIOR TO CHOOSING SE.

Is their still a way to compensate, or am I fucked forever with the lack of employment offerings?

>> No.62538671

>>62538657
random guy on /dpt/ says CS degree is more appealing than SE degree and you're ready to drop. jesus

>> No.62538681

>>62538657
You're fucked kid

>> No.62538699

>>62538657
>am I fucked forever with the lack of employment offerings?
You'll find employment unless you're completely incompetent. It probably just won't be as glorious as you imagine.

>Is their still a way to compensate
Find a sub-field you're interested in and gain as much knowledge and experience in it as you can while completing your degree.

>> No.62538718

>>62538647
Right, you forgot SE204 - Intro to Software Bloating

>> No.62538737

>>62538671
>implying it isn't
Either way you're probably not going to get your dream job straight out of college, but a guy with a CS degree is going to pick up everything they teach you in SE by osmosis just from working in a professional environment, while a SE graduate is probably never going to learn most of the stuff the teach in CS.

>> No.62538743

>>62538718
My biggest dream is to be that one enterprise dev that is redeemable.

>> No.62538752

>>62538647
>If a certain individual wants to do mobile development, he / she is already writing mobile apps in their spare time freshman year. The person who really wants to work with a functional language is programming in Scala and Haskell in their free time, etc...
Very much this.

>> No.62538771

>>62538743

There is no redemption. You inherit the bloat and just have to keep it going.

>> No.62538793

>>62538737
So basically, SE is just a shittier version of CS?

Im ready for the fucking noose mate. I lived throughout high school with the impression that SE is useful, and worked hard on this shit. Now that I know it was ficticious, my hard work was for jack shit.

>> No.62538801

>>62538737
and I already stated that all of the important stuff SE majors have to learn too. you still think this is a typical SE curriculum:
year 1:
100 - java
108 - introduction to UMLs
year 2:
200 - hello world enterprise edition
250 - graphs and shit
year 3:
300 - more java
301 - how to write fizzbuzz
year 4:
401 - TPS reports
414 - its java again
490 - introduction to recursion - what is it?

>> No.62538803

>>62538793
You have the power to not be shit, anon. Take a look at the degree map for your major, and take the classes that look interesting to you.
If there really aren't any good classes, consider switching majors.

>> No.62538850

>>62538793
>So basically, SE is just a shittier version of CS?
Pretty much.

>Now that I know it was ficticious, my hard work was for jack shit.
You're over-reacting, anon. A SE degree will land you a programming job. All I'm saying is that you better gain some extra knowledge and experience in the meanwhile if you want something better than the code-monkey starting position a SE degree alone would help you get.

>> No.62538869

>>62538801
>I already stated that all of the important stuff SE majors have to learn too
What's the "important stuff" according to you?

>> No.62538877

>>62538793
guy I knew graduated SE got a job at Boeing right out. another landed 75k job writing C code for some forklift company. another ended up as a typical junior software engineer at a big company making 60k starting. these are just three guys I know, and I realize it's anecdotal, but SE isn't a "throw in the trash right away" degree

>> No.62538886

>>62538801
I already took an AP course on Java. So it looks like I'm getting closer towards a worthless future.

>>62538803
Asides from electives, internships, co-ops and freshman credits from my early college program, I basically wasted money. I don't think my parents have enough money for switching majors

>> No.62538894

>>62538850
Literally this. You just have to do shit outside the classroom.

Work on projects, read books (I've found that thrift stores / second hand book stores have some good obscure computing books, but the library is also good too), read articles, go on message boards and talk to people about shit.

Do things that would make you stand out from the faggot behind you in the interview line.

>> No.62538896

>>62538801
>490 - introduction to recursion - what is it?

Something to be avoided due to a lack of TCE

>> No.62538911

>>62538886
>inb4 you're trolling to make people feel guilty for making fun of SE
On the off chance you're genuine, chill the fuck out. It's not like you're majoring in Gender Studies or Liberal Arts.

>> No.62538918

>>62538869
algorithm analysis and design. data structures, computer architecture, operating systems, computer networks, databases

>> No.62538920

if you are on 4chan at all, I can 100% guarantee you that your future was destroyed long ago

>> No.62538936

>>62538920
no u

>> No.62538949
File: 138 KB, 976x556, Capture.png [View same] [iqdb] [saucenao] [google] [report]
62538949

this presentation is fucked up. are they trying to spread disinformation on purpose?

the yellowed part fucks everything up when N.H gets anywhere near zero, and on rough materials it's messed up throughout the entire range.

>> No.62538954

>>62538918
That's a pretty narrow definition of "important stuff", if you ask me. It's just a list of the most obviously practical stuff, but there are many things that aren't as obviously practical but do crop up when you leave code-monkey-land and enter R&D territory.

>> No.62538963

>>62538911
Let me clarify that Im not trolling.

I founded my academic success behind getting a SE degree and made a financial mistake.

Luckily, my campus has the third lowest college debt in the US (Vermont Tech)

>> No.62538966

>>62538954
ok, hmm that makes sense now. this entire time I've been talking about a typical entry level generic software engineer / developer for a typical medium to large sized company. of course if you are going more specialized, study CS.

>> No.62538985

>>62538657
>>62538681
>>62538523

This is fucking stupid, no you will not have job training in the course of a CS degree. Either you will get sucked up by a big enough company that they will spend months training you, or you will get internships which are basically training.

Yes, if you neither have internships, nor the skill level to get hired by a big-N company, you will be fucked, but this should have been incredibly obvious to you from the start.

College is not supposed to be job training, stop trying to make it. The point of a CS degree is all the fundamental shit they make you do, that's what companies pay for when they hire a CS degree grad.

>> No.62539001
File: 86 KB, 1410x685, Screenshot from 2017-09-21 00-04-20.png [View same] [iqdb] [saucenao] [google] [report]
62539001

>>62538963
actually doesn't seem so bad. what the hell dude? looks better than my universities CS curriculum.

>> No.62539064

>>62538985
I didn't say a CS degree is "job training". I said that unlike SE, it gives you knowledge that you're unlikely to pick up through experience in an ordinary professional environment (which you're going to need one way or another).

>> No.62539073

>>62534242
this is cute

>> No.62539080

>>62534242
please explain further this is nice

>> No.62539093

>>62534116
Starting an offensive security course and trying to brush up on Python skills.

Job has me training for java with some bootcamp but I can only see like 2 projects in our backlog until 2018 that's going to need it. Trying to get ready to look for a new job.

>> No.62539095

>>62539064

In that case I added your comment erroneously, I agree with that statement being a good thing.

>> No.62539110

>>62539001

This looks like my course schedule but without a lot of the math. It looks pretty good.

>> No.62539113

>>62539064
>unlike SE, it gives you knowledge that you're unlikely to pick up through experience in an ordinary professional environment

This is my main concern

>> No.62539189

>>62539113

Look into filling the gap other ways. My university does weekly lectures on various new research and misc CS topics. Find something similar.

Do as well as possible in your intro classes. Go see your professor during office hours even if you don't have questions about assignments. Ask them questions about things you're interested, or even their own research (just don't be weird and annoying). Try to get on a research project with a prof. Use your electives to take some of the things that aren't covered by your normal courses (discrete math, machine learning, compilers, algorithms, whatever you don't feel like you're getting normally).

Don't worry about a lot of your classes that seem to just be teaching you how to produce workplace code, or how to work on a team. You (hopefully) will pick that up later. The least useful classes I ever took were my senior design and senior capstone classes. The most useful classes I ever took were Data Mining, systems Programming, Algorithms, and Ethics.

>> No.62539199 [DELETED] 
File: 59 KB, 1421x884, Capture.png [View same] [iqdb] [saucenao] [google] [report]
62539199

I've been trying to post this for the past hour, and I keep getting the red "Connection Error" message. Clearly I'm able to post though. Can anyone help?

>> No.62539203
File: 628 KB, 520x668, 1452151823164.png [View same] [iqdb] [saucenao] [google] [report]
62539203

where did you guys go to learn java? im taking a class and the biggest problem i have is when a teacher gives us an assignment like

"write a program that converts feet to miles prompts the user to enter feet., then the program converts the feet to miles and outputs that."

>> No.62539224

>>62539199
the technology board of 4chan things post with too much code is spam
create a pastebin

>> No.62539229

>>62539203
fuck hit send before i meant to

like i had trouble today getting the user input to be exactly formatted how he wanted.

>> No.62539242

>>62539203
If you really cant figure this out stop trying to program>>62539224

>> No.62539266

>>62539242
i did the assignment. i just had trouble with formatting the prompts and output exactly how he wanted.

im asking if people use code academy because i blew threw the material

>> No.62539274

>>62534116
>>62539224 (thanks)
I'm building a contact manager type app in python, and today I've been working on overhauling the class structures. I have a "Directory" class that's basically just a wrapper for a dictionary, and I decided to try out using higher-order functions to generate the passthrough functions that access the underlying dictionary.

Code: https://pastebin.com/NV6QaC5k

I've never used this technique before, and so, after a lot of googling and digging through documentation, I went with the first approach that seemed to work. Now I'm wondering if this is a stupid approach.

It's probably less readable than defining all the functions the normal way, but it's more easily extendable and way more compact. Any thoughts?

>> No.62539278

>>62539203
This is a couple of brackets in lisp.
Here I was thinking I was the brainlet.

>> No.62539399

>>62539274
I would personally murder myself if I had to maintain a codebase that looked like this.

>> No.62539490

If your class has a smart pointer member, why should you try to avoid allocating objects of that class dynamically?

>> No.62539510

>>62539490
>If your class has a smart pointer member,
this has no impact on a decision whether or not to dynamically allocate the object

>> No.62539652

>>62539490
You shouldn't allocate anything dynamically except for big allocations at the start of your program/level/segment whatever.

>> No.62539664
File: 7 KB, 225x225, ED54BF40-1521-4012-95F0-EF8CCBBDD334.png [View same] [iqdb] [saucenao] [google] [report]
62539664

On my coworker.
Wish me luck.

>> No.62539674

>>62539664
don't be too rough with him lad

>> No.62539749

/g/, how do I open another app from my own project on Android?

>> No.62539776

>>62534116
I'm trying to use a parent class to save myself trouble but I'm new to java. How would I use super()?

Say I have a something like this,
:code:
public int value;
public String name;

public Parent(int value, String name) {
this.value = value;
this.name = name;
}

public child(){
super();
}

public static void Main(){
Child c = new Child(5, "Jewish Tricks");
}
:stopcode:

Would something like this work or does the child need something more?

>> No.62539787

>>62539776
God I'm an idiot, I used the first google search on how to post code and it was someone fucking with me.

public int value;
public String name;

public Parent(int value, String name) {
this.value = value;
this.name = name;
}

public child(){
super();
}

public static void Main(){
Child c = new Child(5, "Jewish Tricks");
}

>> No.62539805

>>62539787
alt-c, lad

>> No.62539855

Does anyone have experience with ocaml? I have to use it for this course and I am fucking lost for the most part.

Part of the current assignment I am doing wants me to take a String list list and turn it into a int*int*string list. But I thought that lists could only be of one data type. Do you think it means a list of touples?

>> No.62539878

>>62539787
this code doesnt compile. what are you trying to do?

>> No.62539891

>>62539878
It shouldn't because it's a rough draft. I'm trying to construct a new child object using the parents parameters essentially.

>> No.62539913

>>62539855
>a int*int*string list
a what

>> No.62539934

>>62539855
either it means a tuple (int, int, string list)
or
a list of (int, int, string)

>> No.62539937

>>62539855
hi I am OCaml god. thank u for paging me
int * int * string list = int * int * (string list)
example value: (1, 2, ["a"; "b"])

different from (int * int * string) list:
[(1, 2, "a"); (3, 4, "b")]

>> No.62539945

>>62539891
no, that wont work. do you want something like this?

public class Parent {

public int value;
public String name;

public Child toChild() {
return new Child(value, name);
}

}

public class Child {

public Child(int value, String name) { }

}


Child c = new Parent(2, "asdf").toChild();

>> No.62539972

>>62535653
knowing assembly
having time to practice

>> No.62539977

>>62539934
>>62539937
Ok, definitely the 2nd one. Just to clarify that is a list of (int, int, string) tuples?

Thank you

>> No.62539980

>>62539945
like this?
public class Parent {
public Parent(int value, String name) {}
}
public class Child {
public Child(int value, String name) {
super(value, name);
}
}

>> No.62540000

>>62539977
yeah, a list where every element is two integers and a string. btw you can write parentheses in the type signature to help you read it which I highly recommend doing

>> No.62540012

Wanted to play around with .Net Core, what a mess. You cant even use MSSQL Linux edition with it, and the MySQL driver supports only Windows. So much for cross platform, Microsoft fails as usual.

>> No.62540030

>>62539980
More like this. So all I need to do is create parameters for the child constructor as well?

>> No.62540054

>>62540030
sorry, like this:
public class Parent {
public Parent(int value, String name) {}
}
public class Child extends Parent {
public Child(int value, String name) {
super(value, name);
}
}[code]> create parameters for the child constructor as well
when you call super(x,y), Parent(x,y) is called. When you call super(), Parent() is called.[/code]

>> No.62540392

#include <iostream>
#include <utility>

void print(const int& a) {
std::cout << a << "\n";
}

int main() {
const int x{5};
print(std::move(x));
print(x);
}


So std::move() should be taking away x, right? And since print() doesn't return the x, it should've been killed off, right?

Where is print() getting the x from?

>> No.62540396

>>62540392
C++ is a horrible language which hasn't solved that problem.

>> No.62540433

>>62540392
C++ doesn't have any type level way of saying "it's now moved-from"

Given that, what do you expect it to do?
It will compile, but moving from an int isn't going to destroy the int or set it to 0 or anything

>> No.62540459

>>62540433
>Given that, what do you expect it to do?
* The first print "moves" x away and places it into the print()'s scope
* x (a) is now into the print()'s stack frame
* when print's end scope is reached, it should delete anything inside its scope, hence a (x) is deleted
* compiler returns to main()'s stack frame
* looks for x but can't find it because print() took it away and never gave it back

>> No.62540479

>>62535362
>inheritance
no

>> No.62540641

>>62536182
So have bow also inherit from a spawning class and spawn arrows in the attack method.

>> No.62540645

Hello there

Knowing what you know, what would you consider the best language to start learning in 2017 if your goal is to be a well-paid employee?

>> No.62540668

>>62540459
you want a compiler error?

>> No.62540670

>>62540645
Scheme
C
And then and only then whatever language you think pays the most.

>> No.62540768

>>62540459
>>62540392
That's an undefined behaviour

>> No.62540845

>>62540645
C

>> No.62540848

>>62540645
Rust.

>> No.62540861

>>62540848
>wanting to work for mozilla

>> No.62540876

>>62540645
c,c++,java,javascript
these cover almost every platform and company.

>> No.62540918

What is good for server side webdev these days?
I hate php and want to do something else.

ASP.Net looks comfortable, does it run smoothly on your average Linux distro?

>> No.62540934

>>62540918
haskell

>> No.62540944

n--;
or
--n;
Which one should be used if you don't care about the value of n at that moment, just to decrement it?
>>62540918
Perl, C (FastCGI) both work fine. ASP.NET is fucking cancer. PHP is decent. Django is acceptable, it's "enterprise grade" enough.

>> No.62540950

>>62540918
there is asp.net core if you are into that.

>> No.62540963

>>62540944
either will decrement it right?

>> No.62540975

>>62540950
Yeah just no idea about how well the .net libs will run on it.

>> No.62540990

So i'm hearing from all sides that using global variables in class functions is eeeeeeevil but is it really tho? I mean why have 10 input parameters on each function when i can just have 10 global vaiables defined once, since i work with them all over the class anyway

>> No.62540999

>>62540944
Compilers optimize it to the same thing.
But --n is better if the compiler doesn't optimize as it doesn't store the value before decrementing it.

>> No.62541019

>>62540963
n-- will return n and then decrement.
--n will decrement and then return.
It matters when you use it while modifing it.

>> No.62541020

>>62540963
>>62540999
I was just asking about what's recommended for readability.
>>62540990
Global state is "magic", you can't see from where the function gets those 10 globals without looking at it, and in larger projects you don't want to grep for the function name across 10 million source files. You can dump them into a struct always.
https://en.wikipedia.org/wiki/Magic_(programming)

>> No.62541024

>>62540990
well global variable mean that everyone(object) can use it. input parameter is use to tell specifically this method to do something with the parameter.

it is easy to know what when where.
>since i work with them all over the class anyway
do you mean class's properties/field ?

>> No.62541032

>>62541019
It's not going to be assigned into anything, see the semicolon on the end.

>> No.62541047

>>62541019
the other person said that he doesn't care for the current value.
>>62541020
i prefer n-- more. i read it as "n decrease".

>> No.62541097

while (x) {}<left><enter><enter><up><tab>
Is there a faster way to do this in vim?

>> No.62541112

>>62541097
>while (x) {}<left><enter><enter><up><tab>
is that rust?

>> No.62541126

>>62541097
uninstall vim and quit wasting your time

>> No.62541132

>>62541112
C. Is there an easy way to record terminal into gif images so I can post them here on linux? No intermediate webm/video conversion.

>> No.62541145

>>62541097
if you have to ask that, it's time to change editor

>> No.62541186

>>62541145
I haven't bothered vimtutor, and I don't think it would document this kind of macros anyway.

>> No.62541196

>>62537159
>400 lines
lmao that's nothing

>> No.62541207

>>62536851
webdevs are more likely to use vim desu

>> No.62541226

New thread:

>>62541215
>>62541215
>>62541215

>> No.62541256

NEW THREAD!!!

>>62541235
>>62541235
>>62541235

>> No.62541258

>>62541256
no

>> No.62541317

>>62540918
serverside? I just use c++
if there needs to be an admin panel and that kind of stuff, I always use python & django

>> No.62541337

>>62541097
I do the same thing in visual studio, I dunno

>> No.62542196

So i have a function which returns struct, declared in .h file called NtHeaders.h

Function declaration :

FunctionPointers GetFunctionPointers(FunctionType type);

Then i have function implementation in file called GetFunctionPointers.cpp

I call this function from main() method and get LNK2019 and LNK20120 errors saying :

Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol "struct FunctionPointers __cdecl GetFunctionPointers(enum FunctionType)" ([email protected]@[email protected]@[email protected]@@Z) referenced in function _main ZeroDay C:\Users\Konigstiger\Source\Repos\ZeroDay\ZeroDay\Main.obj 1


Using Visual Studio 2017, how do i fix this desu?

>> No.62542214

>>62542196

nvm im retarded
didn't include .C file only .h lol

>> No.62542233
File: 90 KB, 650x650, vomit.jpg [View same] [iqdb] [saucenao] [google] [report]
62542233

>>62542196
>>62542214
>Meme++
>Memesoft visual meme
>Meme case
>le Meme spacing
Jesus christ.

>> No.62542283
File: 73 KB, 1843x742, MemePlusPlus.png [View same] [iqdb] [saucenao] [google] [report]
62542283

>>62542233

I don't know any better IDE for Windows programming. I'm using Pure C but Visual Studio really sucks with C support tho.

Fuck VS but i have no other option

picrelated

>>
Name (leave empty)
Comment (leave empty)
Name
E-mail
Subject
Comment
Password [?]Password used for file deletion.
Captcha
Action