I want to finish reading the HTML standard. I'm working on my own browser optimized for web scraping, so knowing a lot about how a browser works is important.
By the way, the HTML standard is an excellent read. About a thousand pages of clear, detailed specifications of every single detail of what a browser does. Incredibly interesting and informative.
Fascinating. The HTML standard does look really interesting as I take a glance. I've been reading the CommonMark markdown spec myself lately. How did you first get interested in the browser project?
My company does a lot of web scraping, it's basically the entire business. Originally we were using Selenium and PhantomJS, but we started running into scaling issues. So now a scraping grid consists of 32 servers each with 8 cores and each costing hundreds of dollars a month. The servers are mostly at like 30% CPU usage. We have like 300k in free servers from various hosting companies so improving efficiency isn't too high priority, but something will have to be done eventually.
The obvious alternative to Selenium is to just make HTTP requests, but we have to crawl a lot of really crappy sites that use JavaScript for no apparent reason, and we want to be able to add a new site without spending a lot of time figuring out how to form spoof. So we're just making our own browser. It uses V8 to run JavaScript, which I had to write a Python C++ extension to do.
Admittedly it's not the most useful thing I could be doing. But it's hella fun.
1) Graduate (about to start my final semester)
2) Get a MVP version of my cooking helper app on at least 3 friends phones. V1 is for Android, and the server is written in Scala, both new for me. I recently got a copy of The Lean Startup, and hope to apply some of those ideas to the first release.
I'm intending to build a native app. Hoping to keep it simple, and make calls to a Scala API. I'm also hoping to make it so both the app & a web interface can use the same endpoints. I also don't have any experience, so this project is certainly experiment-oriented rather than launch.
I'm interested in learning some functional programming, and felt this was a better option for a microservice than haskell. That's also on my to-learn list.
The one I'm currently working on is written in Haxe, which makes it easy to port to almost any platform, so that'd be a PC (Linux, Windows, MacOS) release, and maybe Android :-)
If I learn Lua, I'll probably make another game using LรVE, which I believe also makes it easy to port to any PC OS.
I've never done any game development, and feel like such an outsider that I don't even know where to start, but it's something I'd like to carve out some time to try. Any starter suggestions for a total noob?
Then I stumbled upon Handmade Hero, which provided a huge inspiration.
Also, finishing any "make your own game" tutorial (HaxeFlixel's is quite good) helps a lot in motivating you to work on making a simple game of your own.
I'm feeling inspired now. I think I've always thought of game development as something that was painful and tough and something to leave for other folks, but it's also so fun to be a total noob and learn something from the ground up.
I'm taking on the goal of writing one simple game this year. I'm going to start with a follow-along tutorial while I scheme the game I want to make.
@ben
, what language(s) do you know best? Looks like from your Github page you use a lot of JavaScript and Ruby. You can do game dev in both of those! In fact using the canvas to create basic games isn't super difficult once you get used to it.
Most platforms / frameworks will provide you with an update and a render loop (or some sort of abstraction over one). Basically render paints whatever items that should be drawn and nothing else (no calculations unless absolutely necessary) and update is where you do all your collision detection, movement, etc. So you update your character's movement in the update loop and draw wherever the character is in render.
I mostly write in Ruby and JS, but I'd love to take the opportunity to do something totally different. I'd gladly take suggestions. I think I'm more concerned with tooling than language preferences, so something with good support and stable community that will allow me to have an enjoyable experience developing on my Mac.
Haxe's syntax is pretty close to Javascript, and it's easy to get it up and running on a Mac (although the homebrew install didn't work well for me, had to download it and its dependencies myself).
Also, if you're feeling extra inspired, make sure to check this out: onegameamonth.com/ ;-)
create more feminine @NERDpraunig developer t-shirts: nerdpraunig.com
In general I want to focus more on my health - I am currently reading "The Healthy Programmer.
And I want to blog again and share my very positive developer experience, like my story "From Secretary to Software Developer: the hard way" which I submitted to medium: medium.com/code-like-a-girl/from-s...
Good luck with the app release process, Apple makes you jump though hoops ๐
I love that if/else tee!
Would you recommend that book so far? I'm always on the lookout for programming-related books that come in audiobook form and that one does.
Congrats on your journey so far, and feel free to use this platform to tell more of your story, as well as blog about Swift and share your burgeoning expertise with the language.
My biggest goal for 2017 is to be more engaged in the community. I hope to do so by blogging experiences, speaking at conferences and meetups, and more contributions to open source.
This past year I have dipped my toe on some of these but I want to submerge myself and commit to it.
Open source is something I attempted before but I consistently felt I was not good enough to take on any of the issues and didn't dedicate enough time to it. After attending my first conference (since HS), I found my place or to put it better I found my passion. I took my first steps toward speaking this year on a FP panel at a local conference and also gave a talk on RRv4 at a local meet up.
I think mentoring/teaching has always been a strong point for me but it was typically focused to within the workspace. My self-awareness has gotten me past any of the imposter syndrome I had, which has me ready to share with a larger audience.
Read following books: "Passionate Programmer,Pragmatic Programmer, Effective Java, Design Patterns, Clean Code, Domain Driven Design"
Improve my development productivity
Contribute to open source in Java
Share my knowledge in blog
Get more involved in mobile dev
Get another dev job ASAP. It's proving more difficult to find my second job compared to my first. Seems like my 2 years of experience and immense passion/drive aren't enough. Everyone wants 3-6 years experience. :-/ I also want to move from Ruby on Rails to Javascript.
Speak at a conference. I've already submitted 2 proposals and hope I get one accepted.
Make at least 2 outfits with integrated LEDs & an arduino and coded completely in Javascript using Johnny-Five. I just started working with hardware (raspberry pi) and have gained enough confidence to tackle making wearables now.
Getting started w/ hardware + Building art stuff with hardware. I just started and despite feeling completely inadequate in that area, I managed to make some neat stuff & gain confidence to move onto bigger projects (like making wearables this year).
My stated goals were to blog more, teach more, and finish a personal project. More details:
Blog more: I'm a firm believer in contributing to the C# and .NET communities, especially with how I work with both in my day job. How we utilize libraries and solve hard problems is something I find useful in sharing.
Teach more: I am a senior resource at my company. It's my goal to get my developer team members to get at or above my technical acumen and delivery skills.
Finish a personal project: I'm great at starting personal projects, typically ASP.NET websites. Time to finish one, hopefully before spring!
My personal realization that finally let me get finishing was to realize that projects I'd abandoned years ago, regardless of how misguided they seemed at the time, would have been awesome had I only kept grinding away at them. Eventually it would tip and get to cruise control. But by ditching them and starting over again, I was always starting over.
So I chose a project I knew would eventually turn out awesome if I just kept at it. That's this site, and it's still a work in progress, but it's getting a bit better every week.
Good observation on the finish vs restart. The other hard part about side projects is they can run over such a long timeframe that you can get demotivated by the difference in quality across components (code or otherwise). I think this can spur the temptation to start over, eg, "I'm so much better now! If I start from scratch it will be nothing but puppies and perfection!".
Catch being of course, you will continue to grow, especially if you are building things as a calling. Think the balance is to remember that if you're applying your trade you'll always be better than yesterday, so rework the critical bits (like gaping security or structural issues), and push forward to done.
Having a goal to open source something can compound this, since you know one day some bright young things are going to be lobbing entirely legitimate pull requests at your old, duct tape code from when you were first getting started.
Get my first full stack developer job, do what I love to do.
I have been writing about my coding boot camp experience for myself but never really published it as a blog. I would love to publish my experiences as a blog and encourage people to pursue their dream.
-Contribute to open source project in my skills and level.
Top comments (102)
I want to finish reading the HTML standard. I'm working on my own browser optimized for web scraping, so knowing a lot about how a browser works is important.
By the way, the HTML standard is an excellent read. About a thousand pages of clear, detailed specifications of every single detail of what a browser does. Incredibly interesting and informative.
Fascinating. The HTML standard does look really interesting as I take a glance. I've been reading the CommonMark markdown spec myself lately. How did you first get interested in the browser project?
My company does a lot of web scraping, it's basically the entire business. Originally we were using Selenium and PhantomJS, but we started running into scaling issues. So now a scraping grid consists of 32 servers each with 8 cores and each costing hundreds of dollars a month. The servers are mostly at like 30% CPU usage. We have like 300k in free servers from various hosting companies so improving efficiency isn't too high priority, but something will have to be done eventually.
The obvious alternative to Selenium is to just make HTTP requests, but we have to crawl a lot of really crappy sites that use JavaScript for no apparent reason, and we want to be able to add a new site without spending a lot of time figuring out how to form spoof. So we're just making our own browser. It uses V8 to run JavaScript, which I had to write a Python C++ extension to do.
Admittedly it's not the most useful thing I could be doing. But it's hella fun.
Well whether or not this specific activity is "useful", I'm sure you'll get a hell of a lot out of reading the whole HTML standard!
To clarify, the standard found here? html.spec.whatwg.org/multipage/
That's good to know it's a solid & clear read, I'll have to make some time to work through it.
That's the one.
1) Graduate (about to start my final semester)
2) Get a MVP version of my cooking helper app on at least 3 friends phones. V1 is for Android, and the server is written in Scala, both new for me. I recently got a copy of The Lean Startup, and hope to apply some of those ideas to the first release.
Is it a native app or u use some Scala framework?
I do not have any experience with apps, I would like to know more :)
I'm intending to build a native app. Hoping to keep it simple, and make calls to a Scala API. I'm also hoping to make it so both the app & a web interface can use the same endpoints. I also don't have any experience, so this project is certainly experiment-oriented rather than launch.
ok, good luck with that! The common REST/graphql API endpoint is a good idea.
Lean Startup is definitely critical reading for this kind of thing. Good luck with the launch. What made you choose Scala for the server?
I'm interested in learning some functional programming, and felt this was a better option for a microservice than haskell. That's also on my to-learn list.
Clojure is an interesting and productive lisp. You might find the principles there intriguing as well.
Aah, that's great to know! I'll look into that some more - I've had coworkers apply some Clojure styles & ideas to our codebase with great results.
Nice! What platform are you targeting for the games?
The one I'm currently working on is written in Haxe, which makes it easy to port to almost any platform, so that'd be a PC (Linux, Windows, MacOS) release, and maybe Android :-)
If I learn Lua, I'll probably make another game using LรVE, which I believe also makes it easy to port to any PC OS.
Lastly, I want to make a game for the Uzebox :-D
I've never done any game development, and feel like such an outsider that I don't even know where to start, but it's something I'd like to carve out some time to try. Any starter suggestions for a total noob?
I totally felt like that for years!
Then I stumbled upon Handmade Hero, which provided a huge inspiration.
Also, finishing any "make your own game" tutorial (HaxeFlixel's is quite good) helps a lot in motivating you to work on making a simple game of your own.
I'm feeling inspired now. I think I've always thought of game development as something that was painful and tough and something to leave for other folks, but it's also so fun to be a total noob and learn something from the ground up.
I'm taking on the goal of writing one simple game this year. I'm going to start with a follow-along tutorial while I scheme the game I want to make.
๐
@ben , what language(s) do you know best? Looks like from your Github page you use a lot of JavaScript and Ruby. You can do game dev in both of those! In fact using the canvas to create basic games isn't super difficult once you get used to it.
Most platforms / frameworks will provide you with an update and a render loop (or some sort of abstraction over one). Basically render paints whatever items that should be drawn and nothing else (no calculations unless absolutely necessary) and update is where you do all your collision detection, movement, etc. So you update your character's movement in the update loop and draw wherever the character is in render.
You could even get fancy and go with webGL :)
I mostly write in Ruby and JS, but I'd love to take the opportunity to do something totally different. I'd gladly take suggestions. I think I'm more concerned with tooling than language preferences, so something with good support and stable community that will allow me to have an enjoyable experience developing on my Mac.
Haxe's syntax is pretty close to Javascript, and it's easy to get it up and running on a Mac (although the homebrew install didn't work well for me, had to download it and its dependencies myself).
Also, if you're feeling extra inspired, make sure to check this out: onegameamonth.com/ ;-)
And if you're ever uninspired, reading books like The making of Prince of Persia or Masters of Doom helps a great deal with that :-)
My goals for 2017 are:
In general I want to focus more on my health - I am currently reading "The Healthy Programmer.
And I want to blog again and share my very positive developer experience, like my story "From Secretary to Software Developer: the hard way" which I submitted to medium: medium.com/code-like-a-girl/from-s...
Good luck with the app release process, Apple makes you jump though hoops ๐
I love that if/else tee!
Would you recommend that book so far? I'm always on the lookout for programming-related books that come in audiobook form and that one does.
Congrats on your journey so far, and feel free to use this platform to tell more of your story, as well as blog about Swift and share your burgeoning expertise with the language.
2018 checking in. How did 2017 go?
I have a few small attainable goals for 2017
What are the personal projects?
My biggest goal for 2017 is to be more engaged in the community. I hope to do so by blogging experiences, speaking at conferences and meetups, and more contributions to open source.
This past year I have dipped my toe on some of these but I want to submerge myself and commit to it.
And I think you're doing a great job with it, and as you know, Jess and I are here to help you make the most of our channels.
May I ask why you decided to make this a focus? Have you tried to deliberately do much of this stuff in the past?
Open source is something I attempted before but I consistently felt I was not good enough to take on any of the issues and didn't dedicate enough time to it. After attending my first conference (since HS), I found my place or to put it better I found my passion. I took my first steps toward speaking this year on a FP panel at a local conference and also gave a talk on RRv4 at a local meet up.
I think mentoring/teaching has always been a strong point for me but it was typically focused to within the workspace. My self-awareness has gotten me past any of the imposter syndrome I had, which has me ready to share with a larger audience.
Read following books: "Passionate Programmer,Pragmatic Programmer, Effective Java, Design Patterns, Clean Code, Domain Driven Design"
Improve my development productivity
Contribute to open source in Java
Share my knowledge in blog
Get more involved in mobile dev
Get another dev job ASAP. It's proving more difficult to find my second job compared to my first. Seems like my 2 years of experience and immense passion/drive aren't enough. Everyone wants 3-6 years experience. :-/ I also want to move from Ruby on Rails to Javascript.
Speak at a conference. I've already submitted 2 proposals and hope I get one accepted.
Make at least 2 outfits with integrated LEDs & an arduino and coded completely in Javascript using Johnny-Five. I just started working with hardware (raspberry pi) and have gained enough confidence to tackle making wearables now.
Yay for submitting proposals!! What subjects are you looking to speak on?
Getting started w/ hardware + Building art stuff with hardware. I just started and despite feeling completely inadequate in that area, I managed to make some neat stuff & gain confidence to move onto bigger projects (like making wearables this year).
My stated goals were to blog more, teach more, and finish a personal project. More details:
Blog more: I'm a firm believer in contributing to the C# and .NET communities, especially with how I work with both in my day job. How we utilize libraries and solve hard problems is something I find useful in sharing.
Teach more: I am a senior resource at my company. It's my goal to get my developer team members to get at or above my technical acumen and delivery skills.
Finish a personal project: I'm great at starting personal projects, typically ASP.NET websites. Time to finish one, hopefully before spring!
My personal realization that finally let me get finishing was to realize that projects I'd abandoned years ago, regardless of how misguided they seemed at the time, would have been awesome had I only kept grinding away at them. Eventually it would tip and get to cruise control. But by ditching them and starting over again, I was always starting over.
So I chose a project I knew would eventually turn out awesome if I just kept at it. That's this site, and it's still a work in progress, but it's getting a bit better every week.
Good observation on the finish vs restart. The other hard part about side projects is they can run over such a long timeframe that you can get demotivated by the difference in quality across components (code or otherwise). I think this can spur the temptation to start over, eg, "I'm so much better now! If I start from scratch it will be nothing but puppies and perfection!".
Catch being of course, you will continue to grow, especially if you are building things as a calling. Think the balance is to remember that if you're applying your trade you'll always be better than yesterday, so rework the critical bits (like gaping security or structural issues), and push forward to done.
Having a goal to open source something can compound this, since you know one day some bright young things are going to be lobbing entirely legitimate pull requests at your old, duct tape code from when you were first getting started.
Hey Meheret! You could publish your experiences on dev.to :)
Are you done with the boot camp yet?
Hey Jess, that sounds a good idea, I think I might do that. Yes, I am done with boot camp.