I'm a big golang user so I recommend Hugo for the site generator.
I would argue that this website covers both hardware/software in the natural proportion of hardware:software developers. If I had to guess then that would be 1:30.
Why is it 1:30? Because hardware developers have way more at stake than their software counterparts. One injection mold costs $8000, one PCB assembly run costs $12000, one PCB costs $900 and one week, one wafer costs $400,000 and six months. So there are just a lot less hardware developers than there are firmware/software ones.
Look at the distribution of posts on the HN two front pages 9 Software optimization (compilers, language features)9 Business/ IP6 Other5 Cutting Edge software like AI4 Information Security /Privacy 4 Show HN or similar (a product or dev tool)4 Historical Computers3 Non-Technology news3 Design2 Other Technology news1 Ask HN
Only 17/50 of those are actually pure software posts. (Software optimization, Cutting Edge software like AIDesign) The rest would likely be on a hardware website too.
Software changes much faster than hardware. Software can be acted on by individuals and posted on HN by individuals, not just companies/universities with $1m research labs. But when new hardware comes out that is intellectually interesting, like IBMs quantum computer, or an ESP8266, or Google's Tensor Computer Units, you'll bet you can find it on HN.
Articles include the problems of being obsolete at age 30, and a comment that Huawei is "cleaning up" the staff over 34. There's an online course on how to become an embedded systems developer by writing your own RTOS, and what questions Huawei asks in interviews. Somebody wants help with their square wave generator, which is producing a poor waveform. Somebody else wants to know how to drive a 12V brushless DC motor 300mA 2000 RPM. Nobody posted a useful answer, which is disappointing.
All in Mandarin, of course, but that's what Google Translate is for.
To start you off, I subscribe to the following:
Note that there subreddits related to a specific product where discussion focuses on that specific hardware. They tend to by hobbyist, but that's as close as you can get.
Because all the clueless people have dropped Usenet, it's mostly people who know what they're doing. comp.lang.* groups remain useful.
r/electronics is rather lame. Current top articles:
* Join fellow redditors in delivering happiness to one another around the globe! (AD)
* Interesting7805 at the heart of a Super Famicom (SNES).
* Organization Tip: Old Cassette Cases w/ Labels to Keep Parts Sorted!
* Modded Gopro clone sees through Blu-Ray player
* NJ based Components Distributor with NO minimum order quantity (AD)
Not too helpful.
Electronics people usually get Electronic Design magazine. Mechanical engineering people get Machine Design. (Those are free. New Equipment Digest arrives whether you asked for it or not.)
https://hackaday.com/ is good for hardware hacking, though it leans heavily towards Arduino and Raspberry Pi platforms. Most articles that aren't about one of those platforms tend to be about retro-computing, 3D printing, repurposing hardware, and similar topics.
https://phoronix.com is great for Linux-specific hardware reviews, and is worth a subscription; Michael Larabel is one of the hardest working people on the Linux news scene.
A strange difference is that for me, software news is much more actionable than hardware. Somebody has to turn a new hardware development into something like a breakout board, often with support software such as drivers, before I can really do anything with it. The stuff that I can support myself, such as peripheral IC's and analog components, doesn't evolve as quickly.
I suppose one could say that software also requires support software (such as Python wrappers) before I can use it, but that seems to happen more quickly.
I think if we could get a couple engineers from each HW manufacturer from different departments to help put together articles, then I think one as entertaining as HN could be built. People just don't hash out HW specs like they used to - and we need a resurgence via an injection of top-skilled onslaught articles written by the actual innovations of today. I'm happy to help coerce them to participate in such an adventure - if some of you will help me :)
I think it'd be better to gain some experience in your home country first, but I understand it might not be possible.
I think your best bet would be to look for a DevOps position which would provide you with more opportunities for coding while valuing your sysadmin skillset.
That being said, I see some similarity in your position to the one I was in a few years back. I had just finished a degree in computer engineering and I wanted to start a career as a software developer. I had some background developing basic sites with PHP/HTML/CSS/jQuery but I found that employers were looking for more. I ended up studying a few modern frameworks for a few months and found a job much more easily after that. I'm sure that will be the case for you. Just research the job market and find out what skills are demand and what skills you are lacking, it is probably a lot less work to catch up than you might think. Good luck!
1. Your age is NOT an issue
2. Many professional developers do not have Mastery in any specific language. That may be sad, but it is a fact.
3. The biggest difference between what you've done to date and being full time is finishing. By that I mean having the stamina, interest or sheer bloody-mindedness to finish medium to large software projects. Starting is fun, scripting is fun, algorithms are fun...slogging through hundreds of modules, building interface after interface, implementing api after api, creating tests for everything can become very much like ... hard work ...
Because of that, I firmly believe many people can work as a software developer and contribute meaningfully to a company's bottom line.
State your ambition and let the results of your work do the rest.
Figure out a back-end language and web framework you like - I'd recommend Python+Django or Ruby+Rails - and build a web app in it - if you spend a few months and put in a few hundred commits and build a large enough application, you're good to participate in a team and start adding good value. That by very definition should land you a full-time programming position.
Then, you say you are/were an administrator. I say that this is a very, veryconvenient position to do programming. (1) You have tasks that warrant writinga program; (2) you will be part of your own audience, so you know when yourprogram is good enough and what the heck should it actually do; (3) you'renominally not a programmer, so nobody will expect you to adjust your toolboxto the company's vision. Language choice will be your decision, so if you deemErlang to be much better for something, you write Erlang, not C# or Java justbecause the rest of the company uses that.
I am such a sysadmin myself (was? my title now is "programmer/Linux systemengineer"), so I speak from experience. Most of my day is spent on writingcode for managing systems, not on administration itself, though I do some ofthat, too. And there's a lot of tools that would be helluva useful forsysadmins (or for me, at least), but they are not written yet and I don'texpect regular programmers to write them.
I notice that messages notifications for private message sent to me not longer include the content of the message. Instead I get the following"You'll need to use Messenger to see and respond to *'s message. With Messenger, you can text and make voice and video calls for free."
1. Check if people are doing it already, if yes then how well and how you can differentiate/ carve out a niche.2. Cold email startups, small organisations.3. Meet college authorities4. Call anyone and everyone you think can be a prospective beneficiary.
1) doctor uploads his contacts (phone number/email addresses) to facebook and sets his contact info
2) you upload your contacts and set your contact info
if there's one match between them, facebook believes (correctly) that there is some sort of existing relationship between you. The fact that its professional and not personal and you want facebook to just be personal doesn't change it.
In other cases facebook can see you are friends with many of them same people and hence figures you might know each other.
1. Facebook tracking pixels on websites (if you visit a website with the pixel, you can be targeted in many different ways).
2. Email. If you have sent or received an email to the doctor, and either of you has associated that email to FB, you can be tracked.
3. Searching on FB, you say its unlikely for him to look you up on FB, yet theres always a chance that being a family doctor, he might have at some point seen one of your family member's FB and stumbled upon a picture or post in which you were tagged.
4. Whatsapp Contacts. As you know, Whatsapp and FB are part of the same company, hence have access to linked information. If you share certain Whatsapp contacts, a connection can be inferred.
I'm not sure who I was most disappointed in. The hospital for purchasing the ad, Google for tracking my hospital visits, or myself for trading privacy for the convenience of services like Google Now.
1) you have instagram or whatsapp and use them frequently
2) you use an app that has Facebook login, that has location access or just has the SDK lying in app but not being used.
3) I don't know about what access react native/js frameworks have in terms of device resources, but that "may be" an another source of info leak.
4) your contacts/friends uploaded a photo on one of these services where you were there in the photo
5) if any of these apps have microphone access (when you record videos) it's "possible" to do many surreptitious things.
All of the above, done by 1 or many of your friends/contacts on Facebook/instagram/WhatsApp, FB identified you and correlated it somehow.
How can it be?
Any ideas on how that came about? It's hard to believe it's anything other than some app listening to audio.
We think they did a whois on his IP address which was at his company address, which we all know is doable, but seeing companies proactively do this is crazy.
If you're interested in systems programming and want to try something new, I can recommend learning Nim: https://nim-lang.org/learn.html
If you're into PL implementation, you can't go wrong with: http://buildyourownlisp.com/ or http://www.craftinginterpreters.com/ or http://aosabook.org/en/500L/a-python-interpreter-written-in-...
If you want to try your hand at front-end web development, VueJs is pretty great: https://vuejs.org/
I also think it can be learned in a weekend. At least up to a certain degree.
Here are some resources http://stackoverflow.com/a/2759417
"How Learning Works" (I review it here: https://codewithoutrules.com/2016/03/19/how-learning-works/)
Gar Klein's books, in particular "The Power of Intuition" https://www.amazon.com/Power-Intuition-Feelings-Better-Decis...
With that in mind, focusing on all the soft skills, topics like public Speaking, interacting with coworkers and clients, leadership, and time estimating. https://www.mindtools.com has a lot of info on everything but time estimates, and I can't honestly give you any credible sources on improving that.
That and design patterns.
Just tutorials: https://hn.algolia.com/?query=tutorial&sort=byPopularity&pre...
Online courses databases: Edx, Coursera, Udemy, Skillshare and Youtube.
These work well for weekend learning, because they tend to stand on their own.
EDIT: If you're looking for something along the lines of technologies or framework or something else, refer other comments.
I don't belong to them now but I really enjoyed them in the past
Your question is way too broad. If you mean tech topics, it's perhaps time to find another job; if any topics at all, just follow your interests.
1) Put some effort into a side project, in my case a SaltStack tutorial that I'd wanted to do for a while.
2) Go to a conference (PyCaribbean) and meet people.
3) Reach out to recruiters in the cities I was targeting.
4) Reach out to recruiters who had emailed me in the past 2 years and to ask if they had any contacts in Europe.
#2 and #3 seem to have been the most valuable. If you want to move to Ireland, Michael Diver is communicative, ethical, and responsive.
Also, some logistical tips:
- Use https://calendly.com/ to schedule phone interviews across timezones without off-by-one errors or a lot of back-and-forth.
- When interviewing over skype, have a phone line or page on https://appear.in/ room at the ready.
- If you decide to stay in a hostel rather than hotel or airbnb, it is worth asking what type of mattress they have. http://rainymood.com/ and an external battery charger are a necessity if you want to do this.
I'd be happy to help more if you give me a bit more detail on what type of company you're interested in working for. If you're open to living in London, I really like the place I'm working and would be happy to introduce you. Our interview process looks a bit like https://gocardless.com/blog/redesigning-the-devops-interview... My email is in my profile, so feel free to get in touch.
So to answer, "In other words, can I get a work visa anywhere in Europe without having an offer in hand?" Theoretically yes, practically - highly unlikely.
Maybe its better in other EU countries but I wouldn't know.
To #2: just flying in and hoping you'll land something even with a very solid portfolio is a bad idea, since its highly unlikely any company is going to go through the hoops so you can work for them and time will be against you since the process takes a while.
I'd say if you can suck it up you should go the student route since its the path of least resistance and all you need is to be enrolled, you don't have to finish. Then get an internship since thats easy enough and make a good impression, then that company will want to do the legwork to hire you. This whole process might take about 2 years but at the end of the day you'll be set.
1. You'll need a bachelor's degree in your field, but you won't need a masters. That said, getting a masters may give you a leg up. Postgrad education in Germany is free even for international students, the standar is high, and it gives you the opportunity to get your German up to an acceptable level. Additionally, you will have 12 months following graduation to find a full-time job. If you're looking to work for a bigger Germany company like Siemens, BMW etc., I'd seriously consider the masters.
2. Research job openings before you go. Tailor your CV. Two places to look are AngelList, and also http://berlinstartupjobs.com/ Applying online has always worked for me, but you may also want to go to some meetups while you're there. Berlin Tech Meetup https://www.meetup.com/b-tech/ is one of the largest.
3. Develop your portfolio. I had plenty of Indian colleagues at several of the companies I worked at.
Try RemoteOK as well.
A history of breaking immigration rules won't help your eventual visa application.
2. No, if you start living somewhere illegally you'll be deported. The first step is to visit Embassies.
- The display technology is very nice. I was very impressed by how good the object permanence was: when you put an object somewhere, there is no lag or jitter when you move your head and it stays anchored to the spot. The holograms are reasonably bright and opaque.
- Also, when you pin an object somewhere, it stays there even when you walk around the room. It even stays if you pin it in like the middle of the room where there are no obvious reference points or anchors to use.
- The field of view is neither great nor terrible. It's usable but more would of course be better.
- The major downside is the interaction: "air-clicking" is not great and the gestures to trigger various actions aren't very reliable. It really needs hand controllers like the Vive has.
- The unit itself is comfortable, much more so than the Vive. There was an annoying lens-flare-like glare below the field of view. Not sure if that was my unit not set up correctly or a problem common to all of them.
Overall I'm quite impressed, although I probably wouldn't buy one even if I had $3,000 to burn. V2 will probably be the one to get, if they expand the FOV.
Clicking/selecting objects with gaze is often an antipattern. Much better to use alternate input.
Analytics is kind of a mess.
Everybody recommends unity but performance will suffer. I wrote my own framework instead. Most of the open-source code is bad, if you have figured out how to make apps it's a competitive advantage. MS wrote literally thousands of new APIs for UWP and mixed reality so many many features are barely documented with no real world examples.
It's a totally new paradigm in UX. Most designers fall back to poor decisions like using small buttons or overly detailed models.
Feel free to ask anything specific I'll do my best to answer.
Things I like:
-Let's you have an infinite number of virtual monitors with applications such as word, outlook, browsers etc.-Developing for it is really easy with tools like Unity-Battery life is not too shabby, rarely have to take it off to charge while I'm doing something-Great demo piece
Things to work on:
-Field of view isn't terrible, but could still use improvement-Price point precludes a lot of consumer applications-Feels like you're always wearing sunglasses indoors. This takes away from the augmented reality bit as it can be pretty hard to interact with the real world sometimes (e.g. hard to read my real monitor when I have it on)-Gets kind of uncomfortable on your nose after a while, though that may depend on your face morphology-Interacting with voice commands in an office setting can be awkward/amusing-My colleagues think I'm never working
From an application developer's perspective, the only difference between HoloLens coding and Mixed Reality coding is that when constructing 3D scenes your HoloLens app should have a transparent background so the person can see their room through the viewport because that's what they're buying the expensive headset for and in Mixed Reality you should have an opaque background because it's VR not AR.
The really big thing though is that $299 is roughly what you'd otherwise pay for a pair of big monitors. Full on virtual desktop support with floating windows for these devices is being shipped to every Windows 10 machine starting this week via Windows Update with the intent being you don't need old-school monitors just work in the headset, or with your monitors, or however you want.
Windows now has (or will shortly depending on your Windows Update timing) a built-in developer mode simulator for application testing of Mixed Reality code without a physical headset. The simulator is still a little buggy and incompletely undocumented (remember to shut it off when you're not using it) but it's pretty incredible and more than enough to start building and testing applications.
Pros: Very intuitive controls after maybe 5 minutes of using it.Building in voice commands is easy in Unity, can't speak for other platforms. AR has more practical applications (but VR is more mature).Microsoft listens, and will try and add features that people ask for. The forums were very helpful for someone a year out of programming to come back and learn.Spatial mapping was really cool. I didn't think something could be that accurate in the space of a few minutes.
Cons:Controls can be a steep learning curve for older individuals (based on my experience).Development setup was hard when I started, but has gotten much better from what I hear.Trying to show what you're doing in the hololens live was very hard. Had to build that in, but I think now they've cleaned that up as well through Unity.I think the previous con points out that this is a very new platform, and things are going to change. Keep that in mind, and don't get too mad if things break.It's not super powerful, so you'll have to move to directx if you want to pull every inch of performance out of it. Shaders are your friend (I'm a newbie when it comes to game dev, so this was a lot of learning for me).
I know that people mentioned that FoV is bad, or could be improved, but honestly I didn't have a problem with it. With AR, and how you can still see the world around you, it wasn't a hindrance for users that would demo. That being said, I wouldn't oppose an improvement!
It's surprisingly good at "drawing dark". It can't, really, so it just puts a neutral density filter in front of the real world to dim out the background. This, plus some trickery with drawing intensity, allows overlays on the real world. At least the indoor real world; the grey filter is fixed, and the display will be overwhelmed in sunlight.
The field of view is too small for an immersive illusion. The resolution is too low for the "infinite number of monitors" some people want. It's useful for putting an overlay on what you're working on, which suggests industrial and training applications.
It's not clear there's a mass market for this. Certainly not at the current price point. If it became cheap enough to sell to the Pokemon Go crowd, it might work for that.
A useful metric is, "Is it good enough for Hyperreality?" As yet, it's not. But it could get there.Watch that video. What hyperreality needs is 1) really good lock to the real world, 2) adequate but not extreme resolution, 3) wearability, 4) wide field of view, 5) useable under most real-world lighting conditions, and 6) affordablity. The Hololens has 1 under good conditions, has 2, arguably has 3, lacks 4, 5, and 6. Not there yet.
And I was able to try on on at a meetup.
Considering all the whole thing is self contained and is handling the rendering on the device is amazing. With some of the dev tools you can see it building models of everything and one in the room in real time.
I played the Conquer game which was fun to watch the characters hide behind chairs and stuff. And the maps sort of build them selfs to the room and worked even with lots of people in the meetup.
Getting the hand gestures take's a second but are pretty intuitive with "clicking" stuff sort of pinching your index and thumb together.
The field of view is actually only the glasses under the visor. The visor I believe is more to help with improve contrast and block a bit of light.
Currently I'm working on a large HoloLens project for the aircraft industry. But the amount of possibilities I can think of with a HoloLens (or similar device) is limitless.
The HoloLens has amazing tracking and latency. In a couple more years, when HoloLens and/or competitors release a device with a large field of view, HoloLens-like tracking/latency, and leap motion-like hand recognition, it's going to be very exciting.
-While the FOV is less than ideal it is not experience breaking
-The device is more comfortable than most headgear technology out today(there is also adjusters such as a nose piece and headband that make it more comfortable for a long duration)
-It is intuitive. This device can and will be easily picked up by many people. We found older people who could barely stand trying to operate a smartphone throw it on and almost instantly understand it. There is just something about this device that makes people feel like they can handle it without too much work. And the fact is that they can, it is very simple to use and the hand gestures may be the main reason for it.
-While the hand gestures may not be the most reliable it does come with a clicker that remedies this quite satisfactory. To give this Vive-esque controllers would completely ruin the experience and what Microsoft was trying to accomplish.
-The UI and operation are unobtrusive which means that while it doesn't have much productivity use right now, it will in the future.
If you would like to get a better idea of what the HoloLens does and can do we urge you to find our YouTube channel. We try and deliver our content in a non-technical way as to explain how an end user really see's it without all the tech jargon getting in the way.
To speculate, I'd say VR will find its killer app in gaming/entertainment (similar to TV), and AR will become the next great I/O interface between humans and computers (similar to phones/tablets).
Very narrow field of vision: I had to fish for objects turning on myself and looking up and down. Not good for AR.
No black, obviously. They can't block light from going through rendered objects. This in turn makes colors somewhat ghostly.
Very stable. Once I get an object I can walk around it and it stays there like a real one.
"Clicking" on an object is hard, but maybe it was hard with a mouse when I used it for the first time.
And Lego/Minecraft on the tabletop.... no thanks I don't want games set in my lounge room, that's an incredibly boring place to set a game in.
From a developer standpoint, it's terrible. Unity only just now supports UWP apps and only just, many many libraries just don't work. We are making a collaborative 3D app that needs access to the entire screen and a lot of system level resources. The only nice thing is that the anchor system is an operating system level abstraction.
TL;DR: After using one regularly for a few months, I'd say pas on this device, it's a barely usable AR platform with poor battery life and poor FOV, and it's absolutely unusable AR gaming platform.
After playing with it for a while though, I have to conclude it's not yet a consumer product and probably won't be for many years. Maybe it will find a Place in the enterprise.
Getting it to recognize my air clicks is the bane of my existence.Object permanence works very well.
Before I used it, I thought people were hyperbolic when mentioning the narrow AR FOV. It really limits the experience.
Moving objects around is very annoying when it doesn't seem to recognize half my gestures. However when it does recognize my gestures it's fairly straight forward to move objects on each of the three axis.
Peers make fun of you for wearing something cumbersome.
Positive:Voice Commands,No Computer needed,Unity is great - development is easy
Negatives:Field of view is just weird,Not as intuitive as it could be,Cannot sell it - dev only
I would say info isn't that sparse (as it used to be). Search the Holographic Academy, watch their youtube channel, and subscribe to the Windows MR blog/newsletter.
Have demos of stuff I built, feel free to DM if you want to see.
It's a fun proof of concept, but not much more.
Get a Vive now, wait 2 years before getting an AR device.
If I want to watch a movie in a public area for instance, I'd love a VR mode to tune out everything else.
The user experience--------------
HoloLens is mesmerizing. I'm not big into VR or anything, and will often make the arguement that VR hype will die out and is a fad. But there's something very different about what Microsoft is doing. The ability to incorporate reality as a first class citizen in your 3D applications (or vice versa) is groundbreaking. People often complain about the FOV when they first try it out, and I had the same complaint, but your brain is able to compensate once it gets used to it, and then you stop noticing it. That's something you don't get from a short trial of it at a tech demo. The user inputs are indeed very clumsy still. We'll need vast improvements in this area before HoloLens can feel immersive. But the amazing thing is that this first pass isn't that bad. It can track your hands and it's a computer that sits on your head. I mean, come on! I'm only 22 and even I think that's amazing.
The developer experience------------------------
One of the major short comings of HoloLens development is its dependency on Unity. C# isn't the problem. I love C# and use it daily now for web development. The problem is Unity uses .NET 2.0, and good luck finding C# libraries that are compatible. So for every new thing you want to do, you're going to have to find a "Unity compatible" C# library, which is very annoying.
Unity will work for what you need most of the time, but it turns out if you want to try something custom (like your own gestures) then you're out of luck, because the Unity APIs are limited in that way.
I suppose I'm mostly just not a fan of Unity's component model. Constantly switching between adjusting settings in the IDE and coding feels like a bad way of developing.
Okay, so maybe you want to try something a little lower level. Microsoft offers a C++ API as well, and for the most part this is what you want if you need to harness the limited power of the HoloLens. I haven't played around with all of the APIs, but I know of one in particular that left a bad taste in my mouth (this applies to Unity too) -- the spatial anchor API. For those of you who are unfamiliar, the spatial anchor API is the only way to acquire a durable and persistent reference to a real world location. This is done (I think) with sensor data (orientation, lighting, and images captured by the 4 on board spatial mapping cameras.) This is really an incredible feat of engineering, however it produces a binary which is around 15MB. Far too large to store in a database at scale. I'd like to see MS open up raw access to those sensors so middleware developers can try their hand at improving this aspect of HoloLens.
If C++ isn't your thing, there's a library called HoloJS. You guessed it, it's a JS runtime for HoloLens with access to native libs. I actually started my own variation on this (called HolographicJS) before Microsoft released theirs, but I'm happy they've taken over.
So what does this all mean for a device that seemly has its share of problems to overcome? Well, after trying it I'm fairly confident that MR as Microsoft calls it, is here to stay. The ability to mix reality with virtual reality, and augment that with a layer of environmental understanding is really incredible. I think we're just scratching the surface of the possiblities.
HoloLens is the first in a new field of devices that I believe will come to replace all forms of computers we currently use: phones, laptops, desktops, tablets, etc. Even things like IOT devices. Why spend time building your own interfaces when you can just augment the users'?
If v2 had better FOV and improved input tracking, I'd consider it a major success. But if it also included improved spatial mapping and a reliable GPS, that could bring us into a whole new world, quite literally.
The way I see it, the first company to solve outdoor use of an MR device, and solve what I'm calling the "universal spatial map" problem, will run the world of tomorrow.
Imagine every machine being capable of interfacing with you without the need for a screen or separate device. Imagine walking down the street, gesturing to a restaurant and placing an order before you even get inside.
Further down the line. What if we could transfer consciousness out of a dying car crash survivor into a computer. What if that person could then be virtually transferred back to the scene of the accident, to be greeted by those who are augmented.
Anyway, that's all crazy futurism; but the point is that reality starts with what is being done with HoloLens, and I think it's an incredible thing to be a part of.
To me, HoloLens feels like the Apple II.
I don't have much experience working with CSS, and I generally hate doing it, so I looked around at various themes for some basic styling. I ended up forking a simple theme that I liked (https://github.com/renyuanz/leonids) and then tweaked with it a bit to fit my preferences. Some changes were needed, but the solid foundation made it much easier to make it look good on both desktop and mobile.
Ok, seriously. You probably want Sphinx. Some very nice, mobile-friendly themes (I like Paramiko), and it can easily build a single page with table of contents automatically from a collection of rst or markdown pages. It's technically for documentation, but some people use it for their static web sites and blogs. Ideal for a text-driven site. I used it once to build a single-page documentation site, with table of contents (no longer online).
If you want a service that supports Sphinx, instead of deploying yourself on s3 or github, you can use readthedocs: https://readthedocs.org/ For no ads, you can use their commercial service at https://readthedocs.com
Mkdocs is another documentation generator like Sphinx with some attractive themes you could customize.
What kind of long-form content? Sounds interesting.
0. Sphinx: http://www.sphinx-doc.org/en/stable/
1. A few Sphinx themes: http://www.writethedocs.org/guide/tools/sphinx-themes/
3. Here's a blog post (written with Sphinx) on using Sphinx as a static site generator: http://echorand.me/site/notes/articles/sphinx/static_html.ht...
Here are two dummy test pages I made a while ago to see if I could create a fast-loading, fairly lengthy text page for slow mobile connections.
There is no table of contents, but you could add that as a simple list of links to the top of the page.
Version A (no font loading): http://interfacesketch.com/test/energy-book-synopsis-a.html
Version B (loads custom fonts - an extra 40kb approx): http://interfacesketch.com/test/energy-book-synopsis-b.html
Edit: I should clarify, 'the most popular'... Static Site Generator (SSG)... is Jekyll.
In my case, I run Hugo on a local box, push it to S3, and put cloudflare in front of that endpoint.
I used my own templates at the time but I believe there are mobile friendly and responsive available.
But I just want to put my vote in for Jekyll. Makes static site generation a breeze and I use it for any site that I host these days.
-  https://www.robinwieruch.de/own-website-in-five-days/
Bootstrap has a component called Scrollspy  that does a nice menu-based list of contents. Is Bootstrap not enough / overkill for what you want to do?
What about just writing some simple HTML and CSS?
Once I've got a good idea of how it all fits together I'll create detailed wireframes in Axure to hand over to the developers. Then I use Sketch for design and Marvell for presentations. I also use Zeplin for hand-off to front end.
Next I then go looking for inspiration from websites like
Use that inspiration to figure out a general layout of the site and it's different pages, wireframe that up.
Choose a color palate based on what industry the site is in and other factors.
After that the rest is pretty much details and feedback from the client.
Photoshop is just not my style, however I have friends that do use it and are very productive with it. It all comes down to preference.
It, of course, has the prerequisite that you're working with React.
From being at startups where people tend to move fast and often move on, tell your staff that they can use the services they need BUT you will only reimburse them for 3 months. After that, it must be on the corp card.
I've seen too many times where AWS, Mailchimp, etc, etc are on someone's personal card and once they leave, everything blows up after a couple months. It's even worse if they left under bad terms.
Give them some flexibility but make sure it comes to a single point of control.
Point is, make sure you read the fine print before you apply - joint liability may not be standard on all cards. Our bank issued us their business Visa with a very generous line and it is only connected to our business account with no joint personal liability.
For procedures:- everyone should have a company card in their own name. This means you don't wonder who placed that order for 55 gal of lube on Amazon; it will clearly be John Doe or Jane Smith. Since it's a company card, you'll get the bill and will be able to manage recurring purchases (e.g AWS) after the employee leaves. On the other hand if they accidentally order a bridesmaid's dress on the company card (happened at one of my companies) you can make sure the employee is on the hook for it. - no expenses reimbursed -- only company card to be used.
SVB does this very well -- the employees get individual bills a day or two before the company consolidated bill arrives (all sent to the company -- again so the employee has a chance to catch that bridesmaid dress before the boss sees it).
Points can be transferred to airline partners for super cheap international first and business class tickets (10 per point of value, often), or can be redeem at 1.5 per point for any cash flights or hotel rooms on their travel portal. Worst case, 1 per point as cashback.
Amex also has quite a few great business card. The Business Rewards Gold, The Business Platinum, and the Business Starwood SPG cards are the best.
I got it when I was doing a lot of affiliate marketing (no rebills, I swear), which is sort of like being a founder, and spending $xx,xxx a month on traffic. Getting 2% of that back was actually pretty sweet, considering my margins were 15-20% in general.
I'd say your two best bets would be either the Chase Ink Preferred or Amex Business Rewards Gold. Both offer 3 points per dollar spent in some categories. The Amex card explicitly lists cloud computing, the Chase card includes internet and online advertising. I'd recommend doing a bit of research to make sure your spending fits into the bonus categories.
If you're redeeming the points for statement credit you'll get 1 cent per point from Chase and .6 cents per point from Amex. There are other ways to redeem points that may be more valuable to you but this should be the minimum value you get.
Both cards have annual fees so you should definitely do the math to see if you'll at least break even on the fee. If you won't break even or you don't use the spending categories that have bonuses you might prefer something simpler. Citi offers cash back cards for businesses that give 1.5% or 2% cash back on all purchases. The 2% comes with an annual fee so once again you'd need to do the math to figure out which one is right for you.
Very friendly service, good online system (not as great as Amex though), $15K limit from day one for a new business with zero revenue at the time. Best of all, 2% cash back on every single purchase (no categories), which adds up to real money when you put all of your expenses like AWS on it.
1. Reporting on who spent how much on what?
2. Access control and roll over in case someone leaves, joins, quits angrily and so on
3. Backup and contingency plans in case your bank decides to revoke their relationship.
4. Points back.
I think Amex has the most finely grained reporting and control and this, alone, is worth more than the others.
For your particular situation I would probably just open a credit card account with whoever your startup banks with. Beyond that I would probably explore do the following (in rough order depending on your company size):
1. Using Personal Guarantee: If you are an early startup you probably cant get easily get a business card without a personal guarantee. In this case its really up to the founding team's credit worthiness and I would recommend Amex/OPEN, Capital One Spark, and Chase Ink. All of these will probably require a personal guarantee to start but these particular ones won't go on your personal credit report (Some other cards may).
2. Establishing Credit: Create a Dunn and Bradstreet account, update it, and make sure you have a good web presence. The easiest business credit accounts to establish are UPS, Fedex, Amazon, Staples/OfficeMax/Depot, Frys, Uline. Open them and pay your bills on time (and in full). This will all boost your D&B Paydex score even if you are only making small purchases from each.
3. Utilize your Bank: In SF Wells Fargo is actually quite good for a small startup, SVB is good once you have funding, and US Bank/First Republic are good alternatives. This is your best bet for first major business line of credit (LOC). A business LOC is almost like a credit card and could even have better terms for repayment. If and how you should actually use it depends on your company and your finances, however if you get one without a personal guarantee they will probably limit your expenses to business expenses.
4. Get Credit without PGs(personal guarantees): Once you are seasoned for around 3-9 months you can start looking to getting credit without a personal guarantee. Beyond your bank I would look at US Bank, Amazon, Amex Business, Cap One Spark. If by that time you have funding and more substantial bank deposits approval will be much easier.
The gold business card gives 3X points on Facebook/google ads, while the business platinum gives 1.5x points on purchases over $5k (useful for equipment purchases). You also get 50% points back on preferred airline travel bought with points directly through amex.com
I do realize that not everyone has credit sufficient to get these two, but if accessible they are great.
It offers a 3% cash back off all purchases during your first year and the annual fee ($59) is waived during the first year. 2.5% cash back after the first year.
Aside from the 2-5% return by using these cards, (and warranty, travel, etc. benefits), I find amex billing statements the easiest to reconcile across multiple purchasers.
In fact, even as a non-executive I'd have no problem putting SaaS on my points earning personal card if I trusted that my expenses would be reimbursed in a timely manner.
I've gotten multiple free flights and hotel rooms this way.
I might get down voted a bit because people could argue that the company should reap the rewards from any points but I don't personally see an issue with it.
I have a reminder setup to request a statement credit at the end of each month and it hits our P&L as income.
Something else to be aware of is that some business cards will hit your personal credit score. The Capital One Spark card I have does, but the Citi AAdvantage card I had previously doesn't.
I pay in full every month so it actually improved my credit score a few points as it added $30K in available credit with 0% utilization, but if you are going to carry a balance you could take a hit on your personal credit score - especially if your available credit utilization is high.
A less snarky answer is to join Credit Karma and see what they recommend. It's a great service for $0.
"on advertising purchases made with social media sites and search engines each account anniversary year"
Most of the really impressive hackathon projects aren't created from scratch. The implementation of code might happen during allotted time but the team, idea, design, and even implementation details have already been thought out ahead of time. Other times, the projects are simply a proof of concept of how things "will work once built". The data used is static but made to appear dynamic in the demos.
Yes, there are times were really impressive things are built by talented people but this is not the norm.
A program that is written in a weekend marathon would most likely be a demo or prototype as compared to a program written by a team over months or years.
It is a way to show potential, and find people to help those that have potential to reach it one day.
I have beats from apple and AirPods and it still sucks. I'm constantly having to swap headphones and they are always running out of batteries. Older houses I visit - which was super common on a trip to the Far East recently - only have headphone jacks available. Hotels are the same over most of the world.
The problem I really have is that there is utterly no benefit to removing the technology. Like, what is the upside? Nope. I can't find one. It's incredibly stupid that I can't charge and talk on the phone at the same time without a freekin' adapter - still sucks all these months later, and yes, it happens frequently.
I really feel like Apple f'd up. I am seriously considering finally moving to another platform after a decade on Apple.
It's the same problem with my new MacBook Pro with the bar - there is no material benefit to the change. It's not making my life better and is actually generally making my technology life more of a hassle.
I miss Steve.
I have a collection of Beats headsets, and thought that by now Apple would have introduced a "native" lightning-to-beats cable.
I'm not an audio nut, but I find the audio quality over Bluetooth to be subpar with the 7+ compared with previous iPhones & iPods. Initially I could only keep a BT connection for 10-15 minutes before the phone would drop it and I'd have to power cycle the headset. Same headsets with a ~3-4 year old iPod work fine, and the audio quality is ok.
I have odd ears, so the Apple earbuds and Airpods don't work for me, they constantly fall out.
Kind of ambivalent whether dropping the jack was the right idea or not. Feels like Apple put all of their money on Airpods + bluetooth being the only correct answer and that that's the problem.
Unfortunately, three days ago, my hearing aid's BT antenna stopped working or something, and now it won't connect to my phone. Holding the phone up to my ear works fine, but I miss a LOT because the sound quality is much less. (Your microphone -> my phone speaker -> my hearing aid microphone -> my hearing aid speaker -> my ear.) And super unfortunately, because the iPhone 7 doesn't have a headphone jack, I can't just plug in my headphones. I have to go buy an adapter. I don't want to do this, because I don't normally need an adapter and don't want to spend $40 on one when I'd only need it for a few days until this is fixed.
Also, since I'm profoundly deaf, Air Pods are completely useless to me. It sucks. It really, really sucks. I met with my audiologist on Monday, and they're sending me a new hearing aid that should work, but in the meantime, I'm stuck holding the phone to my ear and being unable to follow conference calls in any meaningful way.
I feel like Apple could have sold Air Pods while keeping the jack. :(
Needless to say, the equipment here is not the latest.
My wife wanted to put on some music - right, she can't connect her phone to the stereo because the missing jack.
I have to connect my Nexus and will be in charge of music all weekend.
No, i don't miss the jack on the iPhones...
Planes are also getting rid of their screens. Yeah, I should have known when we went on our last family vacation.
So my wife and I watched movies are on our phones over the wifi system. Know what sucks? Can't charge and use headphones at the same time without an adapter.
Otherwise, it functions well enough, but I wish they'd bring back the 3.5mm jack. It's also a non-standard headset that I'm carrying around, which means when I want to plug a headset into my laptop or desktop (such as at work), I have to have a separate one for those systems.
I'm not sure if the problem is my headset or my phone, but I really hate, loathe, and despise Bluetooth.
I understand the desire to make the phone more waterproof, but there are other phones out there that are equally waterproof and still have the headphone jack.
I'm using a 6s still, so the option for wired is there. There are definitely small glitches in audio playback wireless vs wired. Using AirPods for phone calls, I've been told people can hear me more clearly than the built-in iPhone mic. Between AirPods on the go and being able to play Spotify on my Echo, I haven't used my wired headphones since.
One thing to note is AirPods don't work for me at the gym or any movement beyond walking. Apparently the shapes of my ears are a little different and the left one falls out frequently. There are some aftermarket rubber things you can put on them to give them better staying power like the Bose earbuds, but I haven't seen any that you can use with the AirPod charging case. The charging case is such a core feature that having to put on / take off rubber covers with every use is unrealistic. I'll probably end up getting a second set of wireless earbuds exclusively for the gym. Tried all of the models that Bose makes but didn't love any of them. Overall, the AirPods are a 3.5/5 for me, but I've definitely accepted wireless audio at this point.
My daily Bose Quietcomfort 35's have excellent bluetooth and switching between my iphone 7+ and my computer is quick and easy.
I keep an adapter on my home stereo aux cable. For the rest of my wired headphones, I usually use them with my computer, not my phone.
I use my wired earbuds far less now, but they're great to have as backup.
Apple's answer to this of course is: Use AirPods! So far I'm not willing to pay 200+ for Bluetooth headphones that might even have worse audio quality, though
For the actual organization, we had a naming scheme of "$(source of document) $(title) $(date %F).pdf".For example: "Texas DMV Toyota Sienna Registration Receipt 2015-05-16.pdf
Ever few months I'd pull out some old files and put a podcast or something and scan a few hundred sheets.
If you're serious about this, I would start with https://ocw.mit.edu/courses/political-science/17-42-causes-a...
The study of the first world war is probably most instructive and there is a lot of content out there on the History. As you dig into this material, keep in mind that history is not just the study of the past but the study of the stories we tell ourselves about the past. Dig into the material OCW class or get started on youtube:
Seriously, no. Aside from the fact that war is in essence a social problem that cannot solely be solved by technical means (see afarrell's earlier post), cyber warfare is an incredibly advanced area of conflict. What makes it so complex is not only the skill needed for the creation of the utilized malware itself, but also all the military intelligence that is needed to sabotage specific physical targets. (I am presuming here that anybody wanting to stop WW3 would have to knock out command posts, communication lines, missile launchers and other weapon systems, etc.)
The classic example is, of course, Stuxnet, the first "supervirus" ever found. Discovered in 2010, it was aimed at the Iranian nuclear enrichment facility in Natanz. The Symantec people who analysed it estimate that development time would have been approx. half a year and would have required a full mockup of the Natanz target for testing purposes. Obviously, Iran doesn't make the design plans of their nuclear facilities public, so extensive espionage work must have been carried out beforehand. On a side note, Stuxnet also exploited four separate Windows Zero-Days. (For more details, see the official report at http://www.symantec.com/content/en/us/enterprise/media/secur...)
My point is: attacking physical targets with computer-based attacks requires a lot of forethought, know-how and intelligence - on a scale that only large nation states are able to furnish. And don't forget, to prevent WW3, it isn't enough to just take down a few targets. You need to make sure that every last one of those nuclear subs keeps its missiles in check...
Say the US wants to attack North Korea. The US military's command and control is designed to withstand hacking from major state actors - China and Russia. So are individual weapon systems. A "hacker collective" isn't going to make much headway against that, unless they are better than Russia and China's state hackers, or unless the US military is woefully unprepared for a cyber attack from a prepared state actor.
But I cant say much about oligarchies where power is owned by a group.
My personal take is that the number of interesting discussions that notification of responses would generate is probably significantly fewer than the number of inflamed discussions it would prolong.
[The country is Colombia, not Columbia]
I made a fast search in Google and I got:
https://dante021blog.wordpress.com/2017/03/24/kick-ass-app/ [This is a nice blog post about your app. I have no idea if this is a popular page or not. I guess no.]
https://www.itzlambo.com/2016/05/top-10-sitios-web-mas-asomb... [This is a listicle that include your app. I have no idea if this is a popular page or not. I guess no.]
https://boards.las.leagueoflegends.com/es/c/off-topic-y-tema... [This is a post in a forum about your app. It has only 5 upvotes, so it's definitively not popular.]
I hope you can read some of this and get some ideas to improve your search.
Can you see if the visitors use iOS or Android?
Most people here use Android or Windows, and very few buy apps.
As an extra thought, maybe it became viral by sharing over Whatsapp, so I am pretty sure seeing referrals if you didn't make a campaign it will be pretty hard to pinpoint.
Do you mind elaborating???
That's super vague language - There's a whole book in there!
It takes A LOT to get permanently banned. How many warning did you get? How serious were the warnings?
You'll be a happier, more effective negotiator if you treat it like, "I'm going to go start this great company; if they want to be apart of it, I'd love to join YC, but I'm going to make it happen with or without them."
My current second-best explanation of how to choose testing based on goals is written up here: https://codewithoutrules.com/2017/03/26/why-how-test-softwar...
(My best explanation is currently a slide deck that will become the third version of that post.)
If nothing then I do this:
Git and stash. An agile approach, features and user stories.An agile board. Vsts or rallydevYes to continuous integration, deployment and automation.Testing, unit tests first. A desktop application may have specific technologies so .. depends.
Oh and code review, pull requests and I actually advise desk checks before submitting PRs.
Regular demos of sprint work is essential
Why are you writing any code at all?
Are you writing code to test a hypothesis and present the results of testingthat hypothesis to other people? If so, state that hypothesis explicitly,build the minimum needed to test that hypothesis, and have a clear & concisedocument (Dropbox Paper, README.md, etc) explaining how the code tests thehypothesis.
Are you writing code to build a product that you plan to maintain for 5-10years as you add features and support a larger user base? That implies that in5 years, you are going to have some new junior engineer join the team who willneed to figure out how to navigate this codebase and modify it. They will havea job to do and the UI they have to accomplish this job will consist of:
- The codebase itself (including any tests)
- The commit history of the codebase
- Any diagrams or READMEs that were written alongside the codebase
- The issue tracker
- The other members of the team and their memories and communication habits.
Engineering practices and team habits matter because they mean that your morejunior engineers are able to much more quickly and confidently do projects tosolve evolving business needs as much or writing as many bugs. Think of both your codebase and your project management tools as a UI whose users are the engineering team trying to accomplish business needs. This talk is close to the mindset I'm trying to convey: https://skillsmatter.com/skillscasts/10124-dylan-beattie-the...
Speaking personally, I find that automated testing is extremely useful formoving quickly because it makes it easier for me to break a task down intoconcrete pieces and to stay motivated by having constant positive feedback.The cost of testing is that it takes a while to set up and is especiallydifficult if you are not experienced in the toolset you are using. If youdon't have a good testing toolchain in place, then writing and running testsis really painful and gets in the way of development
For this reason, it is tremendously useful to have testing infrastructure andpractices set up early on in a project by someone who is experienced with theparticular framework/language you are using. It is very difficult to introducetests after-the-fact.
The branching and code review process that I've found most useful is:
$ git checkout -b my-feature
# Write some code.
$ git add -p
$ git commit -m "do some small thing"
$ git status
$ git checkout file/that/has/leftover/edits/I/dont/want
$ git rebase -i HEAD^^^^^
# re-order commits, edit commit messages, and squash some commits into
# larger logical blocks.
$ git checkout master
$ git pull origin master
$ git checkout my-feature
$ git rebase master
# It now looks like my-feature was developed off the tip of master
# And I've resolved any potential merge conficts.
$ git push origin my-feature -f
```And then make a pull request to merge to master and tag someone to review.CircleCI runs the full automated test suite on the PR. I've only run the fewtests that I've modified because they're the ones that relate to my PR.It doesn't make sense to require passing tests for every commit because thenyou can't write PRs where the tests fail. You might want to do this so you canshow someone a Work In Progress and ask for advice. It might make sense to runa linter like rubocop on each commit, but only if each of the linter rulesis agreed-on by the team (just make a PR for it and have people +1 or -1).
If I need to make changes to the PR after pushing, I do so and then I rebaseon top of master again and `git push -f` the branch. Once tests pass andsomeone +1s it, I'll merge to master and start on the next chunk of work inthe project. Note that on Github, if you tag someone for a review, and theymake a comment, you need to tag them again for your PR to show up in theirlist of PRs-to-review.
Keep your work tightly in-sync with master. If there is a featurethat I don't want to go live, I use a feature flag to turn it off rather thankeeping it out-of-sync with master. Merging large changes that have gotten farout of sync is hell.
For project management, try to be as lightweight as you can. We use a 1-pagemarkdown doc of "Here are good questions to ask to make sure you've understoodthe scope of the problem and have talked to relevant stakeholders." and webreak the project up into trello cards that roughly correspond to PRs.
Also will they interview all possible international candidates through skype first?
Haskell jumps through mathematically monadic hoops to fit this class of behaviors into its functional programming paradigm. Clojure, being more practical, offers its transactional structures as a possible way of reasoning about remote calls in terms of asynchrony (a failed procedure call might be considered a process that never finishes (or not)).
I'm glad GRPC is available in Java, because that's what my company uses. I have a feeling this is the case with most devs. It's annoying that I can't use it in rust, but then again, it's newsworthy if a major company is using rust for anything.
I don't think it has anything to do with a language being functional or not, it's based on sheer popularity in the business world
There is a Lin/Win/Mac font tool here http://www.foolabs.com/xpdf/download.html
I use it, plus some scripts, to keep my work separated into various contexts. See https://github.com/dlthomas/config-files/blob/master/bin/ses... and https://github.com/dlthomas/config-files/blob/master/.bash.d...
The single biggest win is keeping a separate bash history per context. But it's also very handy to define context specific functions and aliases, cd at start to a relevant directory, etc.
Putting it all inside screen means that I can trivially start a new shell in the same context and gives a nice grouping.
screen /dev/ttyUSB0 115200
I particularly love tmuxinator and using it to set up complex environments, like sourcing a virtualenv in python on all my windows/panes.
I use tmux for my main development environment, which usually has:
Window 1 (2 panes): vim and testsWindow 2: bash console, used for git or one-off tasksWindow 3: console (python/ruby REPL, usually)Window 4: localhost server (running whatever webapp I'm working on)
Objectively, I really don't know.
Configuring both are kinda of a pain. I can never seem to get scroll to work properly in mac os x. I don't think I ever tried in screen. tmux is shorter character wise :)