What are you working on, /g/?
asking again because I'm a huge fucking retard
I can't tell why this is throwing a KeyError, could somebody explain?import httpclient
let tmp = mkstemp()
let html = loadHTML(tmp)
for inputTag in html.findAll("input"):
let val = inputTag.attrs["value"]
if not val.isNil:
it looks fine to me based on the example: http://nim-lang.org/docs/htmlparser.html<input name="ie" type="hidden" value="ISO-8859-1" />
<input name="hl" type="hidden" value="en" />
<input name="source" type="hidden" value="hp" />
Traceback (most recent call last)
Error: unhandled exception: key not found: value [KeyError]
ok, I'll go through the SICP challenges.
>using frameworks just for asserts
m8 when you use a framework, you are tying your whole program to that framework. Don't use one unless you're going to take full advantage, or if you just want to meme a bit.
>How should I do unit/integration testing?
Well you make sure that from the start, you program like everything's a unit, modularity is very helpful. Then you throw a bunch of inputs into it and see how what it comes back out with, and if it fits the description of the function
So I want to get into Mobile Apps programming, but I have no ideas on what to make.
What'd be great is if I had a portfolio of applications though, so I can work for others. Is there a list or information on good apps to have as a portfolio?
Well since you FUCKING FAGGOTS CAN'T KEEP YOUR STUPID SHIT IN ONE THREAD, I'm just going to ask in this one and hope it's the one that survives.
In X, it is common that a GUI element, such as a button or image, will be it's own X window (correct me if this has changed), is this just an X thing?
Does Wayland and every other window manager/compositor/display server give you one window for everything and the GUI toolkit just draws everything inside that one window and handles input manually for each element?
The X way of handling GUI elements seems like it would save a lot of pain. I will be writing a display server for my OS and i want to know if I'm doing the right thing here.
just pick a genre and do something. there is so much freedom that even if it's heavily influenced by existing games your game will look original based on its art style, mechanics, level design etc
as long as the game functions well it'll be fine. and you have to realize that games literally can't be 100% original. like there's only so many camera perspectives to choose from etc
Is anyone familiar with Go? I'm thinking about using it to develop a REST api for an app I want to make. Before I get too far with it I want to know if it's a reasonable choice for my project.
The other options are Node.js or PHP but I'm not a fan of either of those systems.
neckbeard college fags think c and java are the only languages that exist because that's all they've had their hands held through.
Go is a perfectly fine language to do what you need it for.
Daily reminder that writing in C and boasting about using manual memory management (where manual = "I use free and malloc directly") is a sign of programming illiteracy, cargo-cult mindset, and egodystonic physical appearence.
well, it's less complex than c++ (easier to pick up, easier to read later, easier to introduce new people to the project) and has a gc and all that.
he doesn't need the perf gained from manual memory management for his project.
java/c#: not pure oop, structural typing, channels and green threads/segmented stacks, saner tooling (the defaults are chosen a lot better than in java/c#), composition based oop, explicit error handling over exceptions (more effort to write, easier to read and to make sure all errors are taken care of, useful for software that needs to stay up long without crashing)
inb4 "implementation defined": not that relevant practically
generics lead to messes more quickly in imperative languages, functional languages gain more from generics
>tfw programs get too big and code too sprawling and I can no longer contain a mental image of the whole thing at once, so I start making mistakes and introducing bugs because, scanning the rest of the stuff I wrote the I'm aware of, I find nothing that could conflict with my new idea and I fuck it up
>I will never code anything more complex than 500-line scripts
Breaking it into smaller chunks only makes it worse since it splinters the mental model I have too much. Having low capacity short-term memory is suffering and makes me feel like a complete fool.
it should be a compiler warning, not an error that you must hide by assigning to _
you're even setting yourself up for failure by assigning to _ because then you might forget it later on
my experience tells me that the vast majority of programmers ignore warnings
go is a lang where you have to plan ahead a bit to write good programs, that's definetly true, and stuff like incremental development doesn't work as well in go
But if you split it into smaller parts, then you only have to remember how your "modules" interface, with each other. Abstraction inside your projects is the key to make good programs.
well, type hierarchies are indeed a major cause (not essentially OOP, but covariance/contravariance and all that junk)
casting isn't *that* common in go if you aren't dealing with really abstract stuff. this can be an advantage and keeps people from overengineering, it also can be a disadvantage when you really need that really abstract stuff.
i don't consider single casts much of an issue, rather lots of cast-mess is what i consider a disadvantage
you have an object that does a particular task. all you have to keep in mind when programming the object is to fulfill the contract of its interface. and then when you use the object it's just a few simple methods to remember or look up in the documentation.
Has anyone here ever hinted at a link to /g/ in any work that may be seen by potential employers.
Let's say that I put my 4chan css on github as a project and that github is linked to a linked in.
Would anyone skim-reading my github care?
Made a youtube channel downloader
Downloads all uploads from the channel, yes, ALL OF THEM
You can pretty easily tweak it do download any playlist if you really want to
>implying i use chrome
>implying even if i were to use chrome i would be writing extensions for it
There's a bagillion tutorials. I've found the best way to learn is just to start with a default single-view application that xcode gives you and go from there.
My 4chan css is about 1500 lines and sets themes for /g/ /h/ /d/ and /gif/.
People really like open source contributions. I made one single character change to a major project and got a job interview offer the next week (from some random company, not a recruiter). I didn't know that people cared that much.
>People really like open source contributions. I made one single character change to a major project and got a job interview offer the next week
Mine was more because I'm a member of a github team that develops a popular web framework, and I think they wanted to bring on the guy who develops the iOS side of it.
Is it true that Google actually hires their employees in cool mysterious ways like, hacking your laptop and leaving a txt file in your desktop saying they want to hire you or something? That's really cool!
It has to be driver or kernel-level in order for malloc() and free() to be faster than most garbage collection (including reference counting) schemes.
There is maybe one other situation where using malloc()/free() manually is wise: when you're writing a superior memory manager.
Game engines do not use malloc() and free() directly because using them directly is slower than GC or RC in 90% of cases. They usually use their own memory managers (usually several of them.)
Trying to figure out how to get types to align here, and I'm not sure how.
I can't divide by integers, but mod requires integers. I've tried slobbering to/fromInteger all over the function but I can't reason out the magic combination.sumMultiples n1 limit = quicksum n1
where largest n = head $ filter (\x -> x `mod` n == 0) [limit,limit-1..]
quicksum n = (n+(largest n))*((largest n)/2/n)
compiles file, but using it fails:*Main> sumMultiples'' 3 10
No instance for (Fractional a0) arising from a use of ‘it’
The type variable ‘a0’ is ambiguous
Note: there are several potential instances:
instance Integral a => Fractional (GHC.Real.Ratio a)
-- Defined in ‘GHC.Real’
instance Fractional Double -- Defined in ‘GHC.Float’
instance Fractional Float -- Defined in ‘GHC.Float’
In the first argument of ‘print’, namely ‘it’
In a stmt of an interactive GHCi command: print it
Spend a couple of hours writing a script to export my climate data to a netcdf4 file. Tried doing it flexible so, I can aggregate them either to monthly or weekly global grids. Decided to go for iso-weeks to split up the whole timeseries for the weekly grids.
Turns out 2010 was a year with 53 weeks. And week 53 of 2010, and week 1 of 2011 share the same Monday if one tries to write a unique timestamp for each isoweek.
Anyone else here ever gridded data to weeklies? What time-date do you use for each week? I just went with the corresponding Monday, but then you end up with that fuckup for week 53...
Beside Oracle certifications, which certifications are good for your career?
I'm currently studing for the Java Associate. Never thought a language was so full of small details. I wonder if there was a C++ certification. It would be HELL.
>Beside Oracle certifications, which certifications are good for your career?
Ones which are relevant to your career.
Java associate is a waste of time. Just contribute to a bunch of java shit on github and write a few android apps.
If you are trying to get into the oracle game, do CCB / PSRM testing. You need basic sql knowledge, and that's it, and you can move your way up to developing on that unholy amalgamation of cobol and java.
>they're's at least a dozen different ones now anon
Yeah, that's kind of the problem. I'm not familiar with testing in general, so I can't evaluate them. Thanks for the book rec though.
Women are coders.
Men are programmers.
>contract of its interface
I'm talking about basic functions taking in text files and spitting out a string, whose particular regular expression I didn't keep in mind when adding in a new function that makes additional edits to this file and messes it up for the other function. Once code goes over a certain threshold of critical mass, I start making these mistakes left and right because when I scan the mental model of the code in my mind, I no longer have a thorough, complete grasp of it when I add in new code. I can barely manage a 600 line bash script, you think I can take up actual programming and its practices?
yes just start learning OOP it will feel perfectly natural to make applications of any size. like if you want to add a whole new feature you just change one or two isolated parts of the project without fucking everything else up.
>bash is a mess
Same deal; basic fundamental problem is my short-term memory, which is reflected upon not only in my programming mistakes but in many other fields of interests. I can't play Chess well for the exact same reason - or cook more than two dishes at once, or do any form of advanced calculation (on paper or mentally), or play any single-player strategy game past the first third of the campaign.
>just start learning OOP it will feel perfectly natural to make applications of any size
Elaborate. I'm unfamiliar with the term and programming lingo to me is what 2006-4chan lingo would be to my aging mother.
Imagine managing a server that crashes regularly, has an incompatible update every two weeks, has plugins that are incompatible each update, a modding platform that is incompatible each update, a dev team that doesn't really inform you about shit, like when updates occur, a game engine that only makes use of a single core and throttles at 70% usage of that core, an engine that leaks shitloads of memory memory, ...
for example if you have a car you don't want to fiddle with the fuel injectors and whatnot, there's a computer system inside it that manages everything and the car mechanic has set everything up for you so that you can just turn the key to start the engine, press the gas pedal to accelerate and turn the wheel to steer. so you can use the car just fine even though it's really a complex piece of machinery. now if you want to upgrade the engine you will have to take it to a garage and tinker with it but once that's done you can still use the car in the same way. take this concept to the virtual world - you have an object with the "machinery" abstracted away behind an easy to use interface you don't have to worry about it unless you're changing or repairing the object itself. so the rest of your code doesn't have to worry about the implementation details of the object at all, it just has to use the object.
"The answer is one-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero-zero..." etc
She had the opportunity for a joke, and she blew it. "One hundred to the power of one hundred is equal to one Google, squrared... which is redundant, because Google is already full of squares."
I was given autonomy over my projects and I used it to turn 150,000 lines of unstructured garbage Java into beautiful clean Java with loads of tools to help the people that use it.
Remember Anon, nobody cares about the internals of your project if it works. If you make it simpler for the people using your project within the company and respond to their criticism you automatically become everybody's friend.
This is such a typical autistic programmer response I want to kill myself every time I see one.
Why can't you just say "it's fun to mess around with but it won't earn you a job". Slut.
So I don't have to do anything? That's amazing.
Making a chess AI.
Just need to fix up pawn en passant, then I can write the check, checkmate, stalemate predicates and finally start the heuristic search.
I also have to make a built-in table for opening game. Considering a modified PGN parser instead of hard coding everything.
It's a system written by around 5 people over the span of 7 years. I can't go into what it does because it's very specific to our company.
In the wild you'll regularly come across projects that go into the millions of lines. There is good money to be made converting some of the colossal financial software lurking in the basements of banks from fortran/cobol/pl1 to C/C++/Java/Python/Scala/Ocaml
i'm just trying to help you
$400/month is too little, you'll get an inexperienced >>>/vg/agdg kid at best
most people would be better off working on their own project unless you have solid credentials or can show that you have something interesting in the making
> i'm looking for people that are motivated enough to actually create something that they'd like to invest their own creative processes to but i already have an idea planned
> creative processes
These are all meaningless terms anon-kun. This isn't some university facebook group. The project needs a well defined goal and any work needs a proper contract, until then kindly fuck off.
you need to go back
because people who are dedicated don't need to know the specifics until things become more organized. shitposters who pretend to be interested just because they're curious are the ones who flake out after a couple email exchanges
i never said 400/month
i'm not gonna lay out all the details in a fucking /dpt/ thread on here
what sort of details are you even looking for
because anyone who's experienced in game dev knows that it requires a team to make anything high-profile enough to even stand a chance against AAA titles
datastructures, assignments for like the next 15 weeks
like i said, it's gonna be an isometric tile map game. it's gonna have some rogue-like elements. anything else is supposed to be discussed as a team group. that's how all the well-known devs have done it and it's the best way. i'm not gonna delve into further details outside of a trustworthy dedicated team. and it's not just because someone might steal the idea but also because there's no point to telling it to people who aren't even interested
>OCaml on top of that happens to be very suited for text processing.
only good way to do text processing with it is like ocamllex and ocamlyacc, Pervasives is crap for strings (no functions to convert between strings and chars, shitty regex library, uses* mutable strings for everything). Re, Batteries, Extlib, and Core all offer solutions to working with strings but the fact that
1) you need extra libraries to do the most basic string processing
2) they all carry a bunch of extra shit with them that you don't need
3) they're yet another split in the OCaml ecosystem
means that there's still no good pick for working with strings.
* Now they're finally switching to splitting Strings and Bytes after 20+ years, but ffs that shit is inexcusable
and btw before you pretend like i hate OCaml and im shilling against it, i'm saying all this as someone who uses OCaml pretty much daily and it's been my favorite language for the past year or so
>it doesn't even require a team if you have sufficient competence in all areas
this is also an incredibly retarded thing to say and makes it evident that you have no clue what today's game market is like at all. you're just another autistic nodev shitposter
yeah and every one of those 3d rogue-likes are just GRIND games. and people are sick of that shit. but you know what? they still make a killing with their f2p bullshit in the mobile market so plz stfu if you don't know what you're talking about
yeah and it took them what? fucking years to make and still barely any downloads. if you want to actually compete with big name studios you absolutely need a team
i lel at both you fags. i first came to 4chan in 2006 and i outrank you both. fuck off you autists
>there's no point to telling it to people who aren't even interested
Yo pro tip dumbass: there are zero people interested in the project because you have given no information that makes it sound interesting. All you have said is "herp derp isometric and roguelike" which doesn't actually tell anybody anything.
Some chucklefuck showed up on /mlp/ a few months ago and tried to pull the exact same shit, but at least he had (1) a reputation and (2) exactly one image of somewhat interesting concept art. God damn.
>Being a horsefucker
What is it about /dpt/ that attracts idiots, horsefuckers, weebs, traps and fedoras? Why can't we be 10 or so good gay, bro-tier programmers/computer scientists instead of 1000 special snowflakes?
/pol/ likes to spam their shit all over 4chan. AGDG does not. Literally the only place I have ever seen the word "nodev" is in the actual AGDG thread. Whereas "moot is a cuck" was on every board even before the wordfilter made "cuck" more of a meme.
...Yes? I mean, that's exactly what I was complaining about, so why are you presenting it as if it's new information? I want all the people with differing interests to leave this general.
"I dont like thing" is the only reason we need. 95% of 4chan doesnt want to see thing. 2% of 4chan talks about thing over and over and over and over. People are angry, chaos ensues. Containment board is created for those 2%. Peace on earth, etc.
Do not talk about childrens animated cartoons here and consider why you need to talk about animated cartoons wherever you go. I'd say the same thing to the weaboos.
hehe you DO realize
A) you're on 4chan
B) trolling is an indoor sport here
C) they're are more than one anon responding
and find out wat this means in Sepples;
>There is good money to be made converting some of the colossal financial software lurking in the basements of banks from fortran/cobol/pl1 to C/C++/Java/Python/Scala/Ocaml
There's even more money to be made fixing bugs that weren't there before and making them buy new hardware to run your new bloatware.